Notebook[
 {
  Cell[
   CellGroupData[
    {
     Cell[
      "\:5e26\:6b65\:9aa4\:7684\:521d\:7b49\:51fd\:6570\:6c42\:5bfc",
      "Title"
     ],
     Cell[
      CellGroupData[
       {
        Cell["\:6c42\:5bfc\:89c4\:5219", "Section"],
        Cell["\:57fa\:672c\:89c4\:5219", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "baseRules",
              "=",
              RowBox[
               {
                "{",
                "\[IndentingNewLine]",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[{"d", "[", RowBox[{"c_", ",", "x_"}], "]"}],
                      "/;",
                      RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    "0"
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[{"d", "[", RowBox[{"lf_Plus", ",", "x_"}], "]"}],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "Thread",
                      "[",
                      RowBox[
                       {
                        RowBox[{"d", "[", RowBox[{"lf", ",", "x"}], "]"}],
                        ",",
                        "Plus"
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[{RowBox[{"c_", " ", "f_"}], ",", "x_"}],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "c",
                      " ",
                      RowBox[{"d", "[", RowBox[{"f", ",", "x"}], "]"}]
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      "d",
                      "[",
                      RowBox[{RowBox[{"f_", " ", "g_"}], ",", "x_"}],
                      "]"
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      RowBox[
                       {
                        RowBox[{"d", "[", RowBox[{"f", ",", "x"}], "]"}],
                        " ",
                        "g"
                       }
                      ],
                      "+",
                      RowBox[
                       {
                        RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}],
                        " ",
                        "f"
                       }
                      ]
                     }
                    ]
                   }
                  ]
                 }
                ],
                "\[IndentingNewLine]",
                "}"
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[1]:="
        ],
        Cell[
         "\:9ad8\:9636\:89c4\:5219\:ff08\:53cd\:51fd\:6570/\:590d\:5408\:51fd\:6570\:ff09",
         "Text"
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "higherRules",
              "=",
              RowBox[
               {
                "{",
                "\[IndentingNewLine]",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      "HoldPattern",
                      "@",
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            RowBox[{"InverseFunction", "[", "f_", "]"}],
                            "[",
                            "x_",
                            "]"
                           }
                          ],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "1",
                      "/",
                      RowBox[
                       {
                        "dfunc",
                        "[",
                        RowBox[
                         {
                          "f",
                          ",",
                          RowBox[
                           {RowBox[{"InverseFunction", "[", "f", "]"}], "[", "x", "]"}
                          ]
                         }
                        ],
                        "]"
                       }
                      ]
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[{RowBox[{"f_", "[", "g_", "]"}], ",", "x_"}],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[{"g", "=!=", "x"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      RowBox[{"dfunc", "[", RowBox[{"f", ",", "g"}], "]"}],
                      RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}]
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[{"f_", "[", RowBox[{"g_", ",", "c_"}], "]"}],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[
                       {
                        RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}],
                        "&&",
                        RowBox[{"g", "=!=", "x"}]
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      RowBox[
                       {
                        "dfunc",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {RowBox[{"f", "[", RowBox[{"#", ",", "c"}], "]"}], "&"}
                          ],
                          ",",
                          "g"
                         }
                        ],
                        "]"
                       }
                      ],
                      RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}]
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[{"f_", "[", RowBox[{"c_", ",", "g_"}], "]"}],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[
                       {
                        RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}],
                        "&&",
                        RowBox[{"g", "=!=", "x"}]
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      RowBox[
                       {
                        "dfunc",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {RowBox[{"f", "[", RowBox[{"c", ",", "#"}], "]"}], "&"}
                          ],
                          ",",
                          "g"
                         }
                        ],
                        "]"
                       }
                      ],
                      RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}]
                     }
                    ]
                   }
                  ]
                 }
                ],
                "\[IndentingNewLine]",
                "}"
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[2]:="
        ],
        Cell["\:66ff\:6362\:89c4\:5219", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "substRules",
              "=",
              RowBox[
               {
                RowBox[
                 {
                  RowBox[{"dfunc", "[", RowBox[{"f_", ",", "g_"}], "]"}],
                  "\[RuleDelayed]",
                  RowBox[
                   {
                    "d",
                    "[",
                    RowBox[{RowBox[{"f", "[", "u", "]"}], ",", "u"}],
                    "]"
                   }
                  ]
                 }
                ],
                "/.",
                RowBox[{"{", RowBox[{"u", "\[Rule]", "g"}], "}"}]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input"
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "substRules",
              "=",
              RowBox[
               {
                RowBox[{"dfunc", "[", RowBox[{"f_", ",", "g_"}], "]"}],
                "\[RuleDelayed]",
                RowBox[
                 {
                  "Module",
                  "[",
                  RowBox[
                   {
                    RowBox[{"{", "u", "}"}],
                    ",",
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[{RowBox[{"f", "[", "u", "]"}], ",", "u"}],
                        "]"
                       }
                      ],
                      "/.",
                      RowBox[{"{", RowBox[{"u", "\[Rule]", "g"}], "}"}]
                     }
                    ]
                   }
                  ],
                  "]"
                 }
                ]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input"
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "substRules",
              "=",
              RowBox[
               {
                RowBox[{"dfunc", "[", RowBox[{"f_", ",", "g_"}], "]"}],
                "\[RuleDelayed]",
                RowBox[
                 {
                  "Module",
                  "[",
                  RowBox[
                   {
                    RowBox[{"{", "u", "}"}],
                    ",",
                    RowBox[
                     {
                      RowBox[
                       {
                        "dEval",
                        "[",
                        RowBox[{RowBox[{"f", "[", "u", "]"}], ",", "u"}],
                        "]"
                       }
                      ],
                      "/.",
                      RowBox[{"{", RowBox[{"u", "\[Rule]", "g"}], "}"}]
                     }
                    ]
                   }
                  ],
                  "]"
                 }
                ]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[3]:="
        ],
        Cell["\:51fd\:6570\:89c4\:5219", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "functionRules",
              "=",
              RowBox[
               {
                "{",
                "\[IndentingNewLine]",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      "HoldPattern",
                      "[",
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            "IgnoringInactive",
                            "[",
                            RowBox[{"Exp", "[", "x_", "]"}],
                            "]"
                           }
                          ],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "]"
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[{"Exp", "[", "x", "]"}]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      "HoldPattern",
                      "[",
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            "IgnoringInactive",
                            "[",
                            RowBox[{"Log", "[", "x_", "]"}],
                            "]"
                           }
                          ],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "]"
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[{"1", "/", "x"}]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      "HoldPattern",
                      "[",
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            "IgnoringInactive",
                            "[",
                            RowBox[{"Sin", "[", "x_", "]"}],
                            "]"
                           }
                          ],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "]"
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[{"Cos", "[", "x", "]"}]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      "HoldPattern",
                      "[",
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            "IgnoringInactive",
                            "[",
                            RowBox[{"Cos", "[", "x_", "]"}],
                            "]"
                           }
                          ],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "]"
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[{"-", RowBox[{"Sin", "[", "x", "]"}]}]
                   }
                  ]
                 }
                ],
                "\[IndentingNewLine]",
                "}"
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input"
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "functionRules",
              "=",
              RowBox[
               {
                RowBox[
                 {
                  "Table",
                  "[",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "With",
                        "[",
                        RowBox[
                         {
                          RowBox[{"{", RowBox[{"f", "=", "f"}], "}"}],
                          ",",
                          RowBox[
                           {
                            "HoldPattern",
                            "@",
                            RowBox[
                             {
                              "d",
                              "[",
                              RowBox[
                               {
                                RowBox[
                                 {"IgnoringInactive", "@", RowBox[{"f", "[", "x_", "]"}]}
                                ],
                                ",",
                                "x_"
                               }
                              ],
                              "]"
                             }
                            ]
                           }
                          ]
                         }
                        ],
                        "]"
                       }
                      ],
                      "\[Rule]",
                      RowBox[
                       {
                        "D",
                        "[",
                        RowBox[{RowBox[{"f", "[", "x", "]"}], ",", "x"}],
                        "]"
                       }
                      ]
                     }
                    ],
                    ",",
                    "\[IndentingNewLine]",
                    RowBox[
                     {
                      "{",
                      RowBox[
                       {
                        "f",
                        ",",
                        "\[IndentingNewLine]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            "Sqrt",
                            ",",
                            "CubeRoot",
                            ",",
                            "RealAbs",
                            ",",
                            "\[IndentingNewLine]",
                            "Exp",
                            ",",
                            "Log",
                            ",",
                            "Log2",
                            ",",
                            "Log10",
                            ",",
                            "\[IndentingNewLine]",
                            "Sin",
                            ",",
                            "Cos",
                            ",",
                            "Tan",
                            ",",
                            "Cot",
                            ",",
                            "Sec",
                            ",",
                            "Csc",
                            ",",
                            "\[IndentingNewLine]",
                            "ArcSin",
                            ",",
                            "ArcCos",
                            ",",
                            "ArcTan",
                            ",",
                            "ArcCot",
                            ",",
                            "ArcSec",
                            ",",
                            "ArcCsc",
                            ",",
                            "\[IndentingNewLine]",
                            "Sinh",
                            ",",
                            "Cosh",
                            ",",
                            "Tanh",
                            ",",
                            "Coth",
                            ",",
                            "Sech",
                            ",",
                            "Csch",
                            ",",
                            "\[IndentingNewLine]",
                            "ArcSinh",
                            ",",
                            "ArcCosh",
                            ",",
                            "ArcTanh",
                            ",",
                            "ArcCoth",
                            ",",
                            "ArcSech",
                            ",",
                            "ArcCsch"
                           }
                          ],
                          "\[IndentingNewLine]",
                          "}"
                         }
                        ]
                       }
                      ],
                      "\[IndentingNewLine]",
                      "}"
                     }
                    ]
                   }
                  ],
                  "]"
                 }
                ],
                "/.",
                RowBox[
                 {"{", RowBox[{"Rule", "\[Rule]", "RuleDelayed"}], "}"}
                ]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[4]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "functionExtRules",
              "=",
              RowBox[
               {
                "{",
                "\[IndentingNewLine]",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "HoldPattern",
                        "@",
                        RowBox[
                         {
                          "d",
                          "[",
                          RowBox[{RowBox[{"x_", "^", "a_."}], ",", "x_"}],
                          "]"
                         }
                        ]
                       }
                      ],
                      "/;",
                      RowBox[{"FreeQ", "[", RowBox[{"a", ",", "x"}], "]"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "a",
                      " ",
                      RowBox[
                       {"x", "^", RowBox[{"(", RowBox[{"a", "-", "1"}], ")"}]}
                      ]
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "HoldPattern",
                        "@",
                        RowBox[
                         {
                          "d",
                          "[",
                          RowBox[{RowBox[{"a_", "^", "x_"}], ",", "x_"}],
                          "]"
                         }
                        ]
                       }
                      ],
                      "/;",
                      RowBox[{"FreeQ", "[", RowBox[{"a", ",", "x"}], "]"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      RowBox[{"a", "^", "x"}],
                      " ",
                      RowBox[{"Log", "[", "a", "]"}]
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "HoldPattern",
                        "@",
                        RowBox[
                         {
                          "d",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "IgnoringInactive",
                              "@",
                              RowBox[{"Surd", "[", RowBox[{"x_", ",", "n_"}], "]"}]
                             }
                            ],
                            ",",
                            "x_"
                           }
                          ],
                          "]"
                         }
                        ]
                       }
                      ],
                      "/;",
                      RowBox[{"FreeQ", "[", RowBox[{"n", ",", "x"}], "]"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "1",
                      "/",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          "n",
                          " ",
                          RowBox[
                           {
                            RowBox[{"Surd", "[", RowBox[{"x", ",", "n"}], "]"}],
                            "^",
                            RowBox[{"(", RowBox[{"n", "-", "1"}], ")"}]
                           }
                          ]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ]
                   }
                  ]
                 }
                ],
                "\[IndentingNewLine]",
                "}"
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[5]:="
        ],
        Cell["\:53d8\:5f62\:89c4\:5219", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "transferRules",
              "=",
              RowBox[
               {
                "{",
                "\[IndentingNewLine]",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "HoldPattern",
                        "@",
                        RowBox[
                         {
                          "d",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {"IgnoringInactive", "[", RowBox[{"f_", "^", "g_"}], "]"}
                            ],
                            ",",
                            "x_"
                           }
                          ],
                          "]"
                         }
                        ]
                       }
                      ],
                      "/;",
                      RowBox[
                       {
                        "!",
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            RowBox[{"FreeQ", "[", RowBox[{"f", ",", "x"}], "]"}],
                            "||",
                            RowBox[{"FreeQ", "[", RowBox[{"g", ",", "x"}], "]"}]
                           }
                          ],
                          ")"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "d",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[{"Inactive", "[", "Exp", "]"}],
                          "[",
                          RowBox[{RowBox[{"Log", "[", "f", "]"}], "g"}],
                          "]"
                         }
                        ],
                        ",",
                        "x"
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      "HoldPattern",
                      "@",
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            "IgnoringInactive",
                            "@",
                            RowBox[{"Log", "[", RowBox[{"f_", ",", "g_"}], "]"}]
                           }
                          ],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "d",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[{"Log", "[", "g", "]"}],
                          "/",
                          RowBox[{"Log", "[", "f", "]"}]
                         }
                        ],
                        ",",
                        "x"
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ]
                 }
                ],
                "\[IndentingNewLine]",
                "}"
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[6]:="
        ],
        Cell["\:6574\:5408\:5168\:90e8\:89c4\:5219", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "allRules",
              "=",
              RowBox[
               {
                "Flatten",
                "@",
                RowBox[
                 {
                  "{",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    "transferRules",
                    ",",
                    "\[IndentingNewLine]",
                    "baseRules",
                    ",",
                    "\[IndentingNewLine]",
                    "functionRules",
                    ",",
                    "\[IndentingNewLine]",
                    "functionExtRules",
                    ",",
                    "\[IndentingNewLine]",
                    "substRules",
                    ",",
                    "\[IndentingNewLine]",
                    "higherRules"
                   }
                  ],
                  "\[IndentingNewLine]",
                  "}"
                 }
                ]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[12]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"dEval", "[", RowBox[{"f_", ",", "x_"}], "]"}],
            ":=",
            RowBox[
             {
              RowBox[{"d", "[", RowBox[{"f", ",", "x"}], "]"}],
              "//.",
              "allRules"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[8]:="
        ],
        Cell["\:6d4b\:8bd5", "Text"],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[
                  {
                   RowBox[{"(", RowBox[{"dEval", "\[Equal]", "D"}], ")"}],
                   "[",
                   RowBox[
                    {
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[
                          {
                           "(",
                           RowBox[
                            {
                             RowBox[{"x", "^", RowBox[{"Sin", "[", "x", "]"}]}],
                             "+",
                             RowBox[{"3", "x"}],
                             "+",
                             RowBox[{"ArcTan", "[", "x", "]"}]
                            }
                           ],
                           ")"
                          }
                         ],
                         "^",
                         "2"
                        }
                       ],
                       "/",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"x", "^", "4"}],
                           "-",
                           RowBox[
                            {
                             "3",
                             RowBox[
                              {
                               "Surd",
                               "[",
                               RowBox[{RowBox[{"x", "^", "5"}], ",", "3"}],
                               "]"
                              }
                             ],
                             RowBox[{"RealAbs", "@", RowBox[{"Log", "[", "x", "]"}]}]
                            }
                           ],
                           "+",
                           "2"
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     ",",
                     "x"
                    }
                   ],
                   "]"
                  }
                 ],
                 "//",
                 "Through"
                }
               ],
               "//",
               "Simplify"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[9]:="
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[9]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               "dEval",
               "[",
               RowBox[
                {
                 RowBox[
                  {
                   RowBox[{"Erf", "[", RowBox[{"Sin", "[", "x", "]"}], "]"}],
                   "^",
                   "2"
                  }
                 ],
                 ",",
                 "x"
                }
               ],
               "]"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[10]:="
           ],
           Cell[
            BoxData[
             RowBox[
              {
               "2",
               " ",
               RowBox[{"Cos", "[", "x", "]"}],
               " ",
               RowBox[
                {
                 "d",
                 "[",
                 RowBox[
                  {
                   RowBox[{"Erf", "[", RowBox[{"Sin", "[", "x", "]"}], "]"}],
                   ",",
                   RowBox[{"Sin", "[", "x", "]"}]
                  }
                 ],
                 "]"
                }
               ],
               " ",
               RowBox[{"Erf", "[", RowBox[{"Sin", "[", "x", "]"}], "]"}]
              }
             ]
            ],
            "Output",
            CellLabel -> "Out[10]="
           ]
          },
          Open
         ]
        ],
        Cell["\:5065\:58ee\:6027", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "substRules",
              "=",
              RowBox[
               {
                RowBox[{"dfunc", "[", RowBox[{"f_", ",", "g_"}], "]"}],
                "\[RuleDelayed]",
                RowBox[
                 {
                  "Module",
                  "[",
                  RowBox[
                   {
                    RowBox[{"{", "u", "}"}],
                    ",",
                    RowBox[
                     {
                      "With",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            "df",
                            "=",
                            RowBox[
                             {
                              "dEval",
                              "[",
                              RowBox[{RowBox[{"f", "[", "u", "]"}], ",", "u"}],
                              "]"
                             }
                            ]
                           }
                          ],
                          "}"
                         }
                        ],
                        ",",
                        RowBox[
                         {
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              "df",
                              "/.",
                              RowBox[{"{", RowBox[{"u", "\[Rule]", "g"}], "}"}]
                             }
                            ],
                            ")"
                           }
                          ],
                          "/;",
                          RowBox[
                           {
                            "FreeQ",
                            "[",
                            RowBox[{"df", ",", RowBox[{"_d", "|", "_dfunc"}]}],
                            "]"
                           }
                          ]
                         }
                        ]
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  "]"
                 }
                ]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[11]:="
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               "dEval",
               "[",
               RowBox[
                {
                 RowBox[
                  {
                   RowBox[{"Erf", "[", RowBox[{"Sin", "[", "x", "]"}], "]"}],
                   "^",
                   "2"
                  }
                 ],
                 ",",
                 "x"
                }
               ],
               "]"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[13]:="
           ],
           Cell[
            BoxData[
             RowBox[
              {
               "2",
               " ",
               RowBox[{"Cos", "[", "x", "]"}],
               " ",
               RowBox[
                {
                 "dfunc",
                 "[",
                 RowBox[{"Erf", ",", RowBox[{"Sin", "[", "x", "]"}]}],
                 "]"
                }
               ],
               " ",
               RowBox[{"Erf", "[", RowBox[{"Sin", "[", "x", "]"}], "]"}]
              }
             ]
            ],
            "Output",
            CellLabel -> "Out[13]="
           ]
          },
          Open
         ]
        ]
       },
       Open
      ]
     ],
     Cell[
      CellGroupData[
       {
        Cell["\:6b65\:9aa4\:56de\:663e", "Section"],
        Cell[
         TextData[
          {
           Cell[BoxData[FormBox["=", TraditionalForm]]],
           " \:6807\:8bb0"
          }
         ],
         "Text"
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"echoStep", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "(",
              RowBox[
               {
                RowBox[
                 {
                  "CellPrint",
                  "@",
                  RowBox[
                   {
                    "Cell",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "BoxData",
                        "[",
                        RowBox[
                         {
                          "FormBox",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "ToBoxes",
                              "[",
                              RowBox[{"expr", ",", "TraditionalForm"}],
                              "]"
                             }
                            ],
                            ",",
                            "TraditionalForm"
                           }
                          ],
                          "]"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      "\"Print\"",
                      ",",
                      "\[IndentingNewLine]",
                      RowBox[
                       {
                        "CellDingbat",
                        "->",
                        RowBox[
                         {"Cell", "[", RowBox[{"\"=\"", ",", "\"EchoLabel\""}], "]"}
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ],
                ";",
                "expr"
               }
              ],
              ")"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> ""
        ],
        Cell["\:7b49\:5f0f\:8d77\:70b9\:548c\:8fb9\:8ddd", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"echoStep0", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "(",
              "\[IndentingNewLine]",
              RowBox[
               {
                RowBox[
                 {
                  "CellPrint",
                  "@",
                  RowBox[
                   {
                    "Cell",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "BoxData",
                        "[",
                        RowBox[
                         {
                          "FormBox",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "ToBoxes",
                              "[",
                              RowBox[{"expr", ",", "TraditionalForm"}],
                              "]"
                             }
                            ],
                            ",",
                            "TraditionalForm"
                           }
                          ],
                          "]"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      "\"Print\"",
                      ",",
                      "\[IndentingNewLine]",
                      RowBox[
                       {
                        "CellMargins",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {"{", RowBox[{"Inherited", ",", " ", "Inherited"}], "}"}
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ],
                ";",
                "\[IndentingNewLine]",
                "expr"
               }
              ],
              ")"
             }
            ]
           }
          ]
         ],
         "Input"
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"echoStep", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "(",
              RowBox[
               {
                RowBox[
                 {
                  "CellPrint",
                  "@",
                  RowBox[
                   {
                    "Cell",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "BoxData",
                        "[",
                        RowBox[
                         {
                          "FormBox",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "ToBoxes",
                              "[",
                              RowBox[{"expr", ",", "TraditionalForm"}],
                              "]"
                             }
                            ],
                            ",",
                            "TraditionalForm"
                           }
                          ],
                          "]"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      "\"Print\"",
                      ",",
                      "\[IndentingNewLine]",
                      RowBox[
                       {
                        "CellDingbat",
                        "->",
                        RowBox[
                         {"Cell", "[", RowBox[{"\"=\"", ",", "\"EchoLabel\""}], "]"}
                        ]
                       }
                      ],
                      ",",
                      "\[IndentingNewLine]",
                      RowBox[
                       {
                        "CellMargins",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {
                              "{",
                              RowBox[
                               {RowBox[{"Inherited", "+", "20"}], ",", " ", "Inherited"}
                              ],
                              "}"
                             }
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ],
                ";",
                "expr"
               }
              ],
              ")"
             }
            ]
           }
          ]
         ],
         "Input"
        ],
        Cell["\:590d\:5408\:51fd\:6570\:5c42\:6b21", "Text"],
        Cell[
         BoxData[RowBox[{RowBox[{"$dDepth", "=", "0"}], ";"}]],
         "Input",
         CellLabel -> "In[14]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"echoStep0", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "(",
              "\[IndentingNewLine]",
              RowBox[
               {
                RowBox[
                 {
                  "CellPrint",
                  "@",
                  RowBox[
                   {
                    "Cell",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "BoxData",
                        "[",
                        RowBox[
                         {
                          "FormBox",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "ToBoxes",
                              "[",
                              RowBox[{"expr", ",", "TraditionalForm"}],
                              "]"
                             }
                            ],
                            ",",
                            "TraditionalForm"
                           }
                          ],
                          "]"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      "\"Print\"",
                      ",",
                      "\[IndentingNewLine]",
                      RowBox[
                       {
                        "CellMargins",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {
                              "{",
                              RowBox[
                               {
                                RowBox[
                                 {
                                  "Inherited",
                                  "+",
                                  RowBox[
                                   {"20", RowBox[{"(", RowBox[{"$dDepth", "-", "1"}], ")"}]}
                                  ]
                                 }
                                ],
                                ",",
                                " ",
                                "Inherited"
                               }
                              ],
                              "}"
                             }
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ],
                ";",
                "\[IndentingNewLine]",
                "expr"
               }
              ],
              ")"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[15]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"echoStep", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "(",
              RowBox[
               {
                RowBox[
                 {
                  "CellPrint",
                  "@",
                  RowBox[
                   {
                    "Cell",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "BoxData",
                        "[",
                        RowBox[
                         {
                          "FormBox",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "ToBoxes",
                              "[",
                              RowBox[{"expr", ",", "TraditionalForm"}],
                              "]"
                             }
                            ],
                            ",",
                            "TraditionalForm"
                           }
                          ],
                          "]"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      "\"Print\"",
                      ",",
                      "\[IndentingNewLine]",
                      RowBox[
                       {
                        "CellDingbat",
                        "->",
                        RowBox[
                         {"Cell", "[", RowBox[{"\"=\"", ",", "\"EchoLabel\""}], "]"}
                        ]
                       }
                      ],
                      ",",
                      "\[IndentingNewLine]",
                      RowBox[
                       {
                        "CellMargins",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {
                              "{",
                              RowBox[
                               {
                                RowBox[{"Inherited", "+", RowBox[{"20", "$dDepth"}]}],
                                ",",
                                " ",
                                "Inherited"
                               }
                              ],
                              "}"
                             }
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ],
                ";",
                "expr"
               }
              ],
              ")"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[16]:="
        ],
        Cell["\:8ba1\:7b97\:90e8\:5206", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"dEval", "[", RowBox[{"f_", ",", "x_"}], "]"}],
            ":=",
            RowBox[
             {
              "Block",
              "[",
              RowBox[
               {
                RowBox[
                 {
                  "{",
                  RowBox[{"$dDepth", "=", RowBox[{"$dDepth", "+", "1"}]}],
                  "}"
                 }
                ],
                ",",
                RowBox[{"dEvalR", "[", RowBox[{"f", ",", "x"}], "]"}]
               }
              ],
              "]"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[17]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"dEvalR", "[", RowBox[{"f_", ",", "x_"}], "]"}],
            ":=",
            RowBox[
             {
              "NestWhile",
              "[",
              RowBox[
               {
                RowBox[
                 {
                  "echoStep",
                  "@*",
                  RowBox[{"ReplaceAll", "[", "allRules", "]"}]
                 }
                ],
                ",",
                RowBox[
                 {
                  "echoStep0",
                  "[",
                  RowBox[{"d", "[", RowBox[{"f", ",", "x"}], "]"}],
                  "]"
                 }
                ],
                ",",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      "!",
                      RowBox[
                       {
                        "FreeQ",
                        "[",
                        RowBox[{"#2", ",", RowBox[{"_d", "|", "_dfunc"}]}],
                        "]"
                       }
                      ]
                     }
                    ],
                    "&&",
                    RowBox[{"UnsameQ", "[", "##", "]"}]
                   }
                  ],
                  "&"
                 }
                ],
                ",",
                "2"
               }
              ],
              "]"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[18]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"stepD", "[", RowBox[{"f_", ",", "x_"}], "]"}],
            ":=",
            RowBox[
             {
              "With",
              "[",
              RowBox[
               {
                RowBox[
                 {
                  "{",
                  RowBox[
                   {
                    "eval",
                    "=",
                    RowBox[{"dEval", "[", RowBox[{"f", ",", "x"}], "]"}]
                   }
                  ],
                  "}"
                 }
                ],
                ",",
                RowBox[
                 {
                  "eval",
                  "/;",
                  RowBox[
                   {
                    "FreeQ",
                    "[",
                    RowBox[{"eval", ",", RowBox[{"_d", "|", "_dfunc"}]}],
                    "]"
                   }
                  ]
                 }
                ]
               }
              ],
              "]"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[19]:="
        ],
        Cell["\:6d4b\:8bd5", "Text"],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"stepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     "Log",
                     "[",
                     RowBox[
                      {
                       "Sec",
                       "[",
                       RowBox[{RowBox[{"3", "^", "x"}], "-", "1"}],
                       "]"
                      }
                     ],
                     "]"
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[20]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "d",
                    "(",
                    RowBox[
                     {
                      RowBox[
                       {
                        "log",
                        "(",
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        ")"
                       }
                      ],
                      ",",
                      "x"
                     }
                    ],
                    ")"
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "d",
                      "(",
                      RowBox[
                       {
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        ",",
                        "x"
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "dfunc",
                      "(",
                      RowBox[
                       {
                        "Log",
                        ",",
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "d",
                    "(",
                    RowBox[
                     {RowBox[{"log", "(", "u$3910", ")"}], ",", "u$3910"}
                    ],
                    ")"
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[FractionBox["1", "u$3910"], TraditionalForm],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "cos",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "d",
                      "(",
                      RowBox[
                       {RowBox[{"1", "-", SuperscriptBox["3", "x"]}], ",", "x"}
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "dfunc",
                      "(",
                      RowBox[
                       {"Sec", ",", RowBox[{"1", "-", SuperscriptBox["3", "x"]}]}
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "d",
                    "(",
                    RowBox[
                     {RowBox[{"sec", "(", "u$3922", ")"}], ",", "u$3922"}
                    ],
                    ")"
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"tan", "(", "u$3922", ")"}],
                    " ",
                    RowBox[{"sec", "(", "u$3922", ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        RowBox[{"d", "(", RowBox[{"1", ",", "x"}], ")"}],
                        "+",
                        RowBox[
                         {
                          "d",
                          "(",
                          RowBox[{RowBox[{"-", SuperscriptBox["3", "x"]}], ",", "x"}],
                          ")"
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        "-",
                        RowBox[
                         {
                          "d",
                          "(",
                          RowBox[{SuperscriptBox["3", "x"], ",", "x"}],
                          ")"
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"-", SuperscriptBox["3", "x"]}],
                    " ",
                    RowBox[{"log", "(", "3", ")"}],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[20]="]
          },
          Open
         ]
        ]
       },
       Open
      ]
     ],
     Cell[
      CellGroupData[
       {
        Cell["\:6da6\:8272\:5916\:89c2", "Section"],
        Cell[
         BoxData[
          RowBox[
           {
            "d",
            "/:",
            RowBox[
             {
              "MakeBoxes",
              "[",
              RowBox[
               {
                RowBox[{"d", "[", RowBox[{"f_", ",", "x_"}], "]"}],
                ",",
                "TraditionalForm"
               }
              ],
              "]"
             }
            ],
            ":=",
            RowBox[
             {
              "Module",
              "[",
              RowBox[
               {
                RowBox[{"{", "boxes", "}"}],
                ",",
                "\n",
                "  ",
                RowBox[
                 {
                  RowBox[
                   {
                    "boxes",
                    "=",
                    RowBox[
                     {
                      "MakeBoxes",
                      "[",
                      RowBox[{"f", ",", " ", "TraditionalForm"}],
                      "]"
                     }
                    ]
                   }
                  ],
                  ";",
                  "\n",
                  "  ",
                  RowBox[
                   {
                    "If",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        RowBox[{"Precedence", "[", "Plus", "]"}],
                        ">=",
                        RowBox[
                         {
                          "Precedence",
                          "[",
                          RowBox[{"boxes", ",", "TraditionalForm"}],
                          "]"
                         }
                        ]
                       }
                      ],
                      ",",
                      RowBox[
                       {
                        "boxes",
                        "=",
                        RowBox[
                         {
                          "RowBox",
                          "[",
                          RowBox[
                           {
                            "{",
                            RowBox[{"\"(\"", ",", " ", "boxes", ",", " ", "\")\""}],
                            "}"
                           }
                          ],
                          "]"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ],
                  ";",
                  "\n",
                  "  ",
                  RowBox[
                   {
                    "RowBox",
                    "[",
                    RowBox[
                     {
                      "{",
                      RowBox[
                       {
                        RowBox[
                         {
                          "FractionBox",
                          "[",
                          RowBox[
                           {
                            "\"\[DifferentialD]\"",
                            ",",
                            " ",
                            RowBox[
                             {
                              "RowBox",
                              "[",
                              RowBox[
                               {
                                "{",
                                RowBox[
                                 {
                                  "\"\[DifferentialD]\"",
                                  ",",
                                  " ",
                                  RowBox[
                                   {
                                    "MakeBoxes",
                                    "[",
                                    RowBox[{"x", ",", " ", "TraditionalForm"}],
                                    "]"
                                   }
                                  ]
                                 }
                                ],
                                "}"
                               }
                              ],
                              "]"
                             }
                            ]
                           }
                          ],
                          "]"
                         }
                        ],
                        ",",
                        " ",
                        "boxes"
                       }
                      ],
                      "}"
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ]
               }
              ],
              "\n",
              "]"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[21]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            "dfunc",
            "/:",
            RowBox[
             {
              "MakeBoxes",
              "[",
              RowBox[
               {
                RowBox[{"dfunc", "[", RowBox[{"f_", ",", " ", "g_"}], "]"}],
                ",",
                " ",
                "TraditionalForm"
               }
              ],
              "]"
             }
            ],
            ":=",
            RowBox[
             {
              "Module",
              "[",
              RowBox[
               {
                RowBox[{"{", RowBox[{"fboxes", ",", " ", "gboxes"}], "}"}],
                ",",
                "\n",
                "  ",
                RowBox[
                 {
                  RowBox[
                   {
                    "fboxes",
                    "=",
                    RowBox[
                     {
                      "ToBoxes",
                      "[",
                      RowBox[
                       {RowBox[{"f", "[", "g", "]"}], ",", " ", "TraditionalForm"}
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ";",
                  " ",
                  RowBox[
                   {
                    "gboxes",
                    "=",
                    RowBox[
                     {
                      "ToBoxes",
                      "[",
                      RowBox[{"g", ",", " ", "TraditionalForm"}],
                      "]"
                     }
                    ]
                   }
                  ],
                  ";",
                  "\n",
                  "  ",
                  RowBox[
                   {
                    "If",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        RowBox[{"Precedence", "[", "Plus", "]"}],
                        ">=",
                        RowBox[
                         {
                          "Precedence",
                          "[",
                          RowBox[{"fboxes", ",", " ", "TraditionalForm"}],
                          "]"
                         }
                        ]
                       }
                      ],
                      ",",
                      RowBox[
                       {
                        "fboxes",
                        "=",
                        RowBox[
                         {
                          "RowBox",
                          "[",
                          RowBox[
                           {
                            "{",
                            RowBox[{"\"(\"", ",", " ", "fboxes", ",", " ", "\")\""}],
                            "}"
                           }
                          ],
                          "]"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ],
                  ";",
                  "\n",
                  "  ",
                  RowBox[
                   {
                    "If",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        RowBox[{"Precedence", "[", "Plus", "]"}],
                        ">=",
                        RowBox[
                         {
                          "Precedence",
                          "[",
                          RowBox[{"gboxes", ",", " ", "TraditionalForm"}],
                          "]"
                         }
                        ]
                       }
                      ],
                      ",",
                      RowBox[
                       {
                        "gboxes",
                        "=",
                        RowBox[
                         {
                          "RowBox",
                          "[",
                          RowBox[
                           {
                            "{",
                            RowBox[{"\"(\"", ",", " ", "gboxes", ",", " ", "\")\""}],
                            "}"
                           }
                          ],
                          "]"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ],
                  ";",
                  "\n",
                  "  ",
                  RowBox[
                   {
                    "FractionBox",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "RowBox",
                        "[",
                        RowBox[
                         {
                          "{",
                          RowBox[{"\"\[DifferentialD]\"", ",", " ", "fboxes"}],
                          "}"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      " ",
                      RowBox[
                       {
                        "RowBox",
                        "[",
                        RowBox[
                         {
                          "{",
                          RowBox[{"\"\[DifferentialD]\"", ",", " ", "gboxes"}],
                          "}"
                         }
                        ],
                        "]"
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ]
               }
              ],
              "\n",
              "]"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[22]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"makeXForm", "[", "sym_Symbol", "]"}],
            ":=",
            RowBox[
             {
              "sym",
              "/:",
              RowBox[
               {
                "MakeBoxes",
                "[",
                RowBox[{"sym", ",", "TraditionalForm"}],
                "]"
               }
              ],
              "=",
              RowBox[
               {
                "ToBoxes",
                "[",
                RowBox[
                 {
                  RowBox[
                   {
                    "Symbol",
                    "[",
                    RowBox[
                     {
                      "StringPart",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {"ToString", "[", RowBox[{"sym", ",", "InputForm"}], "]"}
                        ],
                        ",",
                        "1"
                       }
                      ],
                      "]"
                     }
                    ],
                    "]"
                   }
                  ],
                  ",",
                  "TraditionalForm"
                 }
                ],
                "]"
               }
              ]
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[23]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "substRules",
              "=",
              RowBox[
               {
                RowBox[{"dfunc", "[", RowBox[{"f_", ",", "g_"}], "]"}],
                "\[RuleDelayed]",
                RowBox[
                 {
                  "Module",
                  "[",
                  RowBox[
                   {
                    RowBox[{"{", "u", "}"}],
                    ",",
                    RowBox[
                     {
                      RowBox[{"makeXForm", "[", "u", "]"}],
                      ";",
                      RowBox[
                       {
                        "With",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            "{",
                            RowBox[
                             {
                              "df",
                              "=",
                              RowBox[
                               {
                                "dEval",
                                "[",
                                RowBox[{RowBox[{"f", "[", "u", "]"}], ",", "u"}],
                                "]"
                               }
                              ]
                             }
                            ],
                            "}"
                           }
                          ],
                          ",",
                          RowBox[
                           {
                            RowBox[
                             {
                              "(",
                              RowBox[
                               {
                                "df",
                                "/.",
                                RowBox[{"{", RowBox[{"u", "\[Rule]", "g"}], "}"}]
                               }
                              ],
                              ")"
                             }
                            ],
                            "/;",
                            RowBox[
                             {
                              "FreeQ",
                              "[",
                              RowBox[{"df", ",", RowBox[{"_d", "|", "_dfunc"}]}],
                              "]"
                             }
                            ]
                           }
                          ]
                         }
                        ],
                        "]"
                       }
                      ]
                     }
                    ]
                   }
                  ],
                  "]"
                 }
                ]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[24]:="
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"stepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     "Log",
                     "[",
                     RowBox[
                      {
                       "Sec",
                       "[",
                       RowBox[{RowBox[{"3", "^", "x"}], "-", "1"}],
                       "]"
                      }
                     ],
                     "]"
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[26]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RowBox[
                     {
                      "log",
                      "(",
                      RowBox[
                       {
                        "sec",
                        "(",
                        RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                        ")"
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "log",
                          "(",
                          RowBox[
                           {
                            "sec",
                            "(",
                            RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                            ")"
                           }
                          ],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"log", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox["1", FormBox["u", TraditionalForm]],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {"(", RowBox[{"1", "-", SuperscriptBox["3", "x"]}], ")"}
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "cos",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       RowBox[
                        {
                         "(",
                         FormBox[
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          TraditionalForm
                         ],
                         ")"
                        }
                       ]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"sec", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"tan", "(", FormBox["u", TraditionalForm], ")"}],
                    " ",
                    RowBox[{"sec", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          "1"
                         }
                        ],
                        "+",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          RowBox[{"-", SuperscriptBox["3", "x"]}]
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "-",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          SuperscriptBox["3", "x"]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"-", SuperscriptBox["3", "x"]}],
                    " ",
                    RowBox[{"log", "(", "3", ")"}],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}}
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[26]="]
          },
          Open
         ]
        ]
       },
       Open
      ]
     ],
     Cell[
      CellGroupData[
       {
        Cell["\:6807\:6ce8\:6b65\:9aa4", "Section"],
        Cell["\:6807\:6ce8\:89c4\:5219", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "baseRules",
              "=",
              RowBox[
               {
                "{",
                "\[IndentingNewLine]",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[{"d", "[", RowBox[{"c_", ",", "x_"}], "]"}],
                      "/;",
                      RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[{"0", ",", "\"Constant Rule\""}],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[{"d", "[", RowBox[{"lf_Plus", ",", "x_"}], "]"}],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          "Thread",
                          "[",
                          RowBox[
                           {
                            RowBox[{"d", "[", RowBox[{"lf", ",", "x"}], "]"}],
                            ",",
                            "Plus"
                           }
                          ],
                          "]"
                         }
                        ],
                        ",",
                        "\"Linearity Rule\""
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[{RowBox[{"c_", " ", "f_"}], ",", "x_"}],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          "c",
                          " ",
                          RowBox[{"d", "[", RowBox[{"f", ",", "x"}], "]"}]
                         }
                        ],
                        ",",
                        "\"Linearity Rule\""
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      "d",
                      "[",
                      RowBox[{RowBox[{"f_", " ", "g_"}], ",", "x_"}],
                      "]"
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[
                           {RowBox[{"d", "[", RowBox[{"f", ",", "x"}], "]"}], "g"}
                          ],
                          "+",
                          RowBox[
                           {RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}], "f"}
                          ]
                         }
                        ],
                        ",",
                        "\"Product Rule\""
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ]
                 }
                ],
                "\[IndentingNewLine]",
                "}"
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[27]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "higherRules",
              "=",
              RowBox[
               {
                "{",
                "\[IndentingNewLine]",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      "HoldPattern",
                      "@",
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            RowBox[{"InverseFunction", "[", "f_", "]"}],
                            "[",
                            "x_",
                            "]"
                           }
                          ],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          "1",
                          "/",
                          RowBox[
                           {
                            "dfunc",
                            "[",
                            RowBox[
                             {
                              "f",
                              ",",
                              RowBox[
                               {RowBox[{"InverseFunction", "[", "f", "]"}], "[", "x", "]"}
                              ]
                             }
                            ],
                            "]"
                           }
                          ]
                         }
                        ],
                        ",",
                        "\"Inverse Function Rule\""
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[{RowBox[{"f_", "[", "g_", "]"}], ",", "x_"}],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[{"g", "=!=", "x"}]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[{"dfunc", "[", RowBox[{"f", ",", "g"}], "]"}],
                          " ",
                          RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}]
                         }
                        ],
                        ",",
                        "\"Chain Rule\""
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[{"f_", "[", RowBox[{"g_", ",", "c_"}], "]"}],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[
                       {
                        RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}],
                        "&&",
                        RowBox[{"g", "=!=", "x"}]
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[
                           {
                            "dfunc",
                            "[",
                            RowBox[
                             {
                              RowBox[
                               {RowBox[{"f", "[", RowBox[{"#", ",", "c"}], "]"}], "&"}
                              ],
                              ",",
                              "g"
                             }
                            ],
                            "]"
                           }
                          ],
                          " ",
                          RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}]
                         }
                        ],
                        ",",
                        "\"Chain Rule\""
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ],
                  ",",
                  "\[IndentingNewLine]",
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "d",
                        "[",
                        RowBox[
                         {
                          RowBox[{"f_", "[", RowBox[{"c_", ",", "g_"}], "]"}],
                          ",",
                          "x_"
                         }
                        ],
                        "]"
                       }
                      ],
                      "/;",
                      RowBox[
                       {
                        RowBox[{"FreeQ", "[", RowBox[{"c", ",", "x"}], "]"}],
                        "&&",
                        RowBox[{"g", "=!=", "x"}]
                       }
                      ]
                     }
                    ],
                    "\[RuleDelayed]",
                    RowBox[
                     {
                      "dLabeled",
                      "[",
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[
                           {
                            "dfunc",
                            "[",
                            RowBox[
                             {
                              RowBox[
                               {RowBox[{"f", "[", RowBox[{"c", ",", "#"}], "]"}], "&"}
                              ],
                              ",",
                              "g"
                             }
                            ],
                            "]"
                           }
                          ],
                          " ",
                          RowBox[{"d", "[", RowBox[{"g", ",", "x"}], "]"}]
                         }
                        ],
                        ",",
                        "\"Chain Rule\""
                       }
                      ],
                      "]"
                     }
                    ]
                   }
                  ]
                 }
                ],
                "\[IndentingNewLine]",
                "}"
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[28]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[
             {
              "substRules",
              "=",
              RowBox[
               {
                RowBox[{"dfunc", "[", RowBox[{"f_", ",", "g_"}], "]"}],
                "\[RuleDelayed]",
                RowBox[
                 {
                  "Module",
                  "[",
                  RowBox[
                   {
                    RowBox[{"{", "u", "}"}],
                    ",",
                    RowBox[
                     {
                      RowBox[{"makeXForm", "[", "u", "]"}],
                      ";",
                      RowBox[
                       {
                        "With",
                        "[",
                        RowBox[
                         {
                          RowBox[
                           {
                            "{",
                            RowBox[
                             {
                              "df",
                              "=",
                              RowBox[
                               {
                                "dEval",
                                "[",
                                RowBox[
                                 {
                                  RowBox[
                                   {
                                    "dLabeled",
                                    "[",
                                    RowBox[
                                     {
                                      RowBox[{"f", "[", "u", "]"}],
                                      ",",
                                      RowBox[
                                       {
                                        "Row",
                                        "@",
                                        RowBox[
                                         {
                                          "{",
                                          RowBox[
                                           {
                                            "\"where \"",
                                            ",",
                                            RowBox[
                                             {
                                              "TraditionalForm",
                                              "[",
                                              RowBox[{"u", "\[Equal]", "g"}],
                                              "]"
                                             }
                                            ]
                                           }
                                          ],
                                          "}"
                                         }
                                        ]
                                       }
                                      ]
                                     }
                                    ],
                                    "]"
                                   }
                                  ],
                                  ",",
                                  "u"
                                 }
                                ],
                                "]"
                               }
                              ]
                             }
                            ],
                            "}"
                           }
                          ],
                          ",",
                          RowBox[
                           {
                            RowBox[
                             {
                              "(",
                              RowBox[
                               {
                                "df",
                                "/.",
                                RowBox[{"{", RowBox[{"u", "\[Rule]", "g"}], "}"}]
                               }
                              ],
                              ")"
                             }
                            ],
                            "/;",
                            RowBox[
                             {
                              "FreeQ",
                              "[",
                              RowBox[{"df", ",", RowBox[{"_d", "|", "_dfunc"}]}],
                              "]"
                             }
                            ]
                           }
                          ]
                         }
                        ],
                        "]"
                       }
                      ]
                     }
                    ]
                   }
                  ],
                  "]"
                 }
                ]
               }
              ]
             }
            ],
            ";"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[29]:="
        ],
        Cell["\:63d0\:53d6\:6807\:6ce8", "Text"],
        Cell[
         BoxData[
          {
           RowBox[
            {
             RowBox[{"getLabels", "[", "expr_", "]"}],
             ":=",
             RowBox[
              {
               "With",
               "[",
               RowBox[
                {
                 RowBox[
                  {
                   "{",
                   RowBox[
                    {
                     "lbs",
                     "=",
                     RowBox[
                      {
                       "DeleteDuplicates",
                       "@",
                       RowBox[
                        {
                         "Cases",
                         "[",
                         RowBox[
                          {
                           "expr",
                           ",",
                           RowBox[
                            {
                             RowBox[{"dLabeled", "[", RowBox[{"_", ",", "lb_"}], "]"}],
                             "\[RuleDelayed]",
                             "lb"
                            }
                           ],
                           ",",
                           RowBox[{"{", RowBox[{"0", ",", "Infinity"}], "}"}]
                          }
                         ],
                         "]"
                        }
                       ]
                      }
                     ]
                    }
                   ],
                   "}"
                  }
                 ],
                 ",",
                 RowBox[
                  {
                   RowBox[
                    {
                     "Row",
                     "@",
                     RowBox[
                      {
                       "Flatten",
                       "@",
                       RowBox[
                        {
                         "{",
                         RowBox[
                          {
                           "\"(\"",
                           ",",
                           RowBox[
                            {"Riffle", "[", RowBox[{"lbs", ",", "\"; \""}], "]"}
                           ],
                           ",",
                           "\")\""
                          }
                         ],
                         "}"
                        }
                       ]
                      }
                     ]
                    }
                   ],
                   "/;",
                   RowBox[{"lbs", "=!=", RowBox[{"{", "}"}]}]
                  }
                 ]
                }
               ],
               "]"
              }
             ]
            }
           ],
           "\n",
           RowBox[
            {
             RowBox[{RowBox[{"getLabels", "[", "_", "]"}], "=", "\"\""}],
             ";"
            }
           ]
          }
         ],
         "Input",
         CellLabel -> "In[31]:="
        ],
        Cell[
         "\:79fb\:9664\:8868\:8fbe\:5f0f\:91cc\:7684\:6807\:6ce8",
         "Text"
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"removeLabels", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "expr",
              "/.",
              RowBox[
               {
                "{",
                RowBox[
                 {
                  RowBox[{"dLabeled", "[", RowBox[{"e_", ",", "_"}], "]"}],
                  "\[RuleDelayed]",
                  "e"
                 }
                ],
                "}"
               }
              ]
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[33]:="
        ],
        Cell["\:663e\:793a\:6807\:6ce8", "Text"],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"echoStep0", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "(",
              RowBox[
               {
                RowBox[
                 {
                  "CellPrint",
                  "@",
                  RowBox[
                   {
                    "Cell",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "BoxData",
                        "[",
                        RowBox[
                         {
                          "FormBox",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "ToBoxes",
                              "[",
                              RowBox[
                               {
                                RowBox[{"removeLabels", "@", "expr"}],
                                ",",
                                "TraditionalForm"
                               }
                              ],
                              "]"
                             }
                            ],
                            ",",
                            "TraditionalForm"
                           }
                          ],
                          "]"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      "\"Print\"",
                      ",",
                      RowBox[
                       {
                        "CellMargins",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {
                              "{",
                              RowBox[
                               {
                                RowBox[
                                 {
                                  "Inherited",
                                  "+",
                                  RowBox[
                                   {"20", RowBox[{"(", RowBox[{"$dDepth", "-", "1"}], ")"}]}
                                  ]
                                 }
                                ],
                                ",",
                                "Inherited"
                               }
                              ],
                              "}"
                             }
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ],
                      ",",
                      RowBox[
                       {
                        "CellFrameLabels",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {
                              "{",
                              RowBox[
                               {
                                "None",
                                ",",
                                RowBox[
                                 {
                                  "Cell",
                                  "[",
                                  RowBox[
                                   {
                                    RowBox[
                                     {
                                      "BoxData",
                                      "@",
                                      RowBox[
                                       {"ToBoxes", "@", RowBox[{"getLabels", "[", "expr", "]"}]}
                                      ]
                                     }
                                    ],
                                    ",",
                                    "\"MessageText\""
                                   }
                                  ],
                                  "]"
                                 }
                                ]
                               }
                              ],
                              "}"
                             }
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"None", ",", "None"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ],
                ";",
                "\[IndentingNewLine]",
                "expr"
               }
              ],
              ")"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[34]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"echoStep", "[", "expr_", "]"}],
            ":=",
            RowBox[
             {
              "(",
              RowBox[
               {
                RowBox[
                 {
                  "CellPrint",
                  "@",
                  RowBox[
                   {
                    "Cell",
                    "[",
                    RowBox[
                     {
                      RowBox[
                       {
                        "BoxData",
                        "[",
                        RowBox[
                         {
                          "FormBox",
                          "[",
                          RowBox[
                           {
                            RowBox[
                             {
                              "ToBoxes",
                              "[",
                              RowBox[
                               {
                                RowBox[{"removeLabels", "@", "expr"}],
                                ",",
                                "TraditionalForm"
                               }
                              ],
                              "]"
                             }
                            ],
                            ",",
                            "TraditionalForm"
                           }
                          ],
                          "]"
                         }
                        ],
                        "]"
                       }
                      ],
                      ",",
                      "\"Print\"",
                      ",",
                      RowBox[
                       {
                        "CellDingbat",
                        "\[Rule]",
                        RowBox[
                         {"Cell", "[", RowBox[{"\"=\"", ",", "\"EchoLabel\""}], "]"}
                        ]
                       }
                      ],
                      ",",
                      RowBox[
                       {
                        "CellMargins",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {
                              "{",
                              RowBox[
                               {
                                RowBox[{"Inherited", "+", RowBox[{"20", "$dDepth"}]}],
                                ",",
                                "Inherited"
                               }
                              ],
                              "}"
                             }
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ],
                      ",",
                      RowBox[
                       {
                        "CellFrameLabels",
                        "\[Rule]",
                        RowBox[
                         {
                          "{",
                          RowBox[
                           {
                            RowBox[
                             {
                              "{",
                              RowBox[
                               {
                                "None",
                                ",",
                                RowBox[
                                 {
                                  "Cell",
                                  "[",
                                  RowBox[
                                   {
                                    RowBox[
                                     {
                                      "BoxData",
                                      "@",
                                      RowBox[
                                       {"ToBoxes", "@", RowBox[{"getLabels", "[", "expr", "]"}]}
                                      ]
                                     }
                                    ],
                                    ",",
                                    "\"MessageText\""
                                   }
                                  ],
                                  "]"
                                 }
                                ]
                               }
                              ],
                              "}"
                             }
                            ],
                            ",",
                            RowBox[{"{", RowBox[{"None", ",", "None"}], "}"}]
                           }
                          ],
                          "}"
                         }
                        ]
                       }
                      ]
                     }
                    ],
                    "]"
                   }
                  ]
                 }
                ],
                ";",
                "\[IndentingNewLine]",
                "expr"
               }
              ],
              ")"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[35]:="
        ],
        Cell[
         BoxData[
          RowBox[
           {
            RowBox[{"dEvalR", "[", RowBox[{"f_", ",", "x_"}], "]"}],
            ":=",
            RowBox[
             {
              "NestWhile",
              "[",
              RowBox[
               {
                RowBox[
                 {
                  "removeLabels",
                  "@*",
                  "echoStep",
                  "@*",
                  RowBox[{"ReplaceAll", "[", "allRules", "]"}]
                 }
                ],
                ",",
                RowBox[
                 {
                  "removeLabels",
                  "@",
                  RowBox[
                   {
                    "echoStep0",
                    "[",
                    RowBox[{"d", "[", RowBox[{"f", ",", "x"}], "]"}],
                    "]"
                   }
                  ]
                 }
                ],
                ",",
                RowBox[
                 {
                  RowBox[
                   {
                    RowBox[
                     {
                      "!",
                      RowBox[
                       {
                        "FreeQ",
                        "[",
                        RowBox[{"#2", ",", RowBox[{"_d", "|", "_dfunc"}]}],
                        "]"
                       }
                      ]
                     }
                    ],
                    "&&",
                    RowBox[{"UnsameQ", "[", "##", "]"}]
                   }
                  ],
                  "&"
                 }
                ],
                ",",
                "2"
               }
              ],
              "]"
             }
            ]
           }
          ]
         ],
         "Input",
         CellLabel -> "In[36]:="
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"stepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     "Log",
                     "[",
                     RowBox[
                      {
                       "Sec",
                       "[",
                       RowBox[{RowBox[{"3", "^", "x"}], "-", "1"}],
                       "]"
                      }
                     ],
                     "]"
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[37]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RowBox[
                     {
                      "log",
                      "(",
                      RowBox[
                       {
                        "sec",
                        "(",
                        RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                        ")"
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "log",
                          "(",
                          RowBox[
                           {
                            "sec",
                            "(",
                            RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                            ")"
                           }
                          ],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"log", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             "sec",
                             "(",
                             RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                             ")"
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox["1", FormBox["u", TraditionalForm]],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {"(", RowBox[{"1", "-", SuperscriptBox["3", "x"]}], ")"}
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "cos",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       RowBox[
                        {
                         "(",
                         FormBox[
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          TraditionalForm
                         ],
                         ")"
                        }
                       ]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"sec", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{"1", "-", SuperscriptBox["3", "x"]}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"tan", "(", FormBox["u", TraditionalForm], ")"}],
                    " ",
                    RowBox[{"sec", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          "1"
                         }
                        ],
                        "+",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          RowBox[{"-", SuperscriptBox["3", "x"]}]
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "-",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          SuperscriptBox["3", "x"]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Constant Rule\"",
                     "\"; \"",
                     "\"Linearity Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"-", SuperscriptBox["3", "x"]}],
                    " ",
                    RowBox[{"log", "(", "3", ")"}],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[37]="]
          },
          Open
         ]
        ]
       },
       Open
      ]
     ],
     Cell[
      CellGroupData[
       {
        Cell["\:5b8c\:6574\:7248\:6d4b\:8bd5", "Section"],
        Cell[
         BoxData[RowBox[{"Remove", "[", "\"`*\"", "]"}]],
         "Input",
         CellLabel -> ""
        ],
        Cell[
         BoxData[
          RowBox[
           {
            "Get",
            "[",
            RowBox[
             {
              "FileNameJoin",
              "@",
              RowBox[
               {
                "{",
                RowBox[
                 {
                  RowBox[{"NotebookDirectory", "[", "]"}],
                  ",",
                  "\"DStep.wl\""
                 }
                ],
                "}"
               }
              ]
             }
            ],
            "]"
           }
          ]
         ],
         "Input",
         CellLabel -> "In[1]:="
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     "Surd",
                     "[",
                     RowBox[{RowBox[{"x", "^", "2"}], ",", "3"}],
                     "]"
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[2]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RadicalBox[
                     SuperscriptBox["x", "2"],
                     "3",
                     MultilineFunction -> None,
                     SurdForm -> True
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        SuperscriptBox["x", "2"]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RadicalBox[
                         SuperscriptBox["x", "2"],
                         "3",
                         MultilineFunction -> None,
                         SurdForm -> True
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[SuperscriptBox["x", "2"], TraditionalForm]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RadicalBox[
                     FormBox["u", TraditionalForm],
                     "3",
                     MultilineFunction -> None,
                     SurdForm -> True
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           SuperscriptBox["x", "2"]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   "1",
                   RowBox[
                    {
                     "3",
                     " ",
                     SuperscriptBox[
                      RadicalBox[
                       FormBox["u", TraditionalForm],
                       "3",
                       MultilineFunction -> None,
                       SurdForm -> True
                      ],
                      "2"
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[{"2", " ", "x"}],
                   RowBox[
                    {
                     "3",
                     " ",
                     SuperscriptBox[
                      RadicalBox[
                       SuperscriptBox["x", "2"],
                       "3",
                       MultilineFunction -> None,
                       SurdForm -> True
                      ],
                      "2"
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[2]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     RowBox[{"Inactive", "[", "Log", "]"}],
                     "[",
                     RowBox[
                      {"a", ",", RowBox[{RowBox[{"x", "^", "2"}], "-", "2"}]}
                     ],
                     "]"
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[3]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RowBox[
                     {
                      TemplateBox[
                       {"log"},
                       "InactiveHead",
                       BaseStyle -> "InactiveTraditional",
                       InterpretationFunction -> None,
                       SyntaxForm -> "Symbol",
                       Tooltip -> "Inactive[Log]"
                      ],
                      "(",
                      RowBox[
                       {"a", ",", RowBox[{SuperscriptBox["x", "2"], "-", "2"}]}
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    FractionBox[
                     RowBox[
                      {
                       "log",
                       "(",
                       RowBox[{SuperscriptBox["x", "2"], "-", "2"}],
                       ")"
                      }
                     ],
                     RowBox[{"log", "(", "a", ")"}]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     FractionBox[
                      "\[DifferentialD]",
                      RowBox[{"\[DifferentialD]", "x"}]
                     ],
                     RowBox[
                      {
                       "log",
                       "(",
                       RowBox[{SuperscriptBox["x", "2"], "-", "2"}],
                       ")"
                      }
                     ]
                    }
                   ],
                   RowBox[{"log", "(", "a", ")"}]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     RowBox[
                      {
                       "(",
                       RowBox[
                        {
                         FractionBox[
                          "\[DifferentialD]",
                          RowBox[{"\[DifferentialD]", "x"}]
                         ],
                         RowBox[
                          {"(", RowBox[{SuperscriptBox["x", "2"], "-", "2"}], ")"}
                         ]
                        }
                       ],
                       ")"
                      }
                     ],
                     " ",
                     FractionBox[
                      RowBox[
                       {
                        "\[DifferentialD]",
                        FormBox[
                         RowBox[
                          {
                           "log",
                           "(",
                           RowBox[{SuperscriptBox["x", "2"], "-", "2"}],
                           ")"
                          }
                         ],
                         TraditionalForm
                        ]
                       }
                      ],
                      RowBox[
                       {
                        "\[DifferentialD]",
                        RowBox[
                         {
                          "(",
                          FormBox[
                           RowBox[{SuperscriptBox["x", "2"], "-", "2"}],
                           TraditionalForm
                          ],
                          ")"
                         }
                        ]
                       }
                      ]
                     ]
                    }
                   ],
                   RowBox[{"log", "(", "a", ")"}]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"log", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{SuperscriptBox["x", "2"], "-", "2"}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox["1", FormBox["u", TraditionalForm]],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[{"\[DifferentialD]", "x"}]
                       ],
                       SuperscriptBox["x", "2"]
                      }
                     ],
                     "+",
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[{"\[DifferentialD]", "x"}]
                       ],
                       RowBox[{"-", "2"}]
                      }
                     ]
                    }
                   ],
                   RowBox[
                    {
                     RowBox[
                      {"(", RowBox[{SuperscriptBox["x", "2"], "-", "2"}], ")"}
                     ],
                     " ",
                     RowBox[{"log", "(", "a", ")"}]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[{"2", " ", "x"}],
                   RowBox[
                    {
                     RowBox[
                      {"(", RowBox[{SuperscriptBox["x", "2"], "-", "2"}], ")"}
                     ],
                     " ",
                     RowBox[{"log", "(", "a", ")"}]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Constant Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[3]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     RowBox[{"(", RowBox[{"x", "+", "2"}], ")"}],
                     "+",
                     RowBox[
                      {
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"x", "^", "2"}],
                           "+",
                           RowBox[{"3", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ],
                       "^",
                       "2"
                      }
                     ]
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[4]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        SuperscriptBox[
                         RowBox[
                          {
                           "(",
                           RowBox[
                            {
                             SuperscriptBox["x", "2"],
                             "+",
                             RowBox[{"3", " ", "x"}],
                             "+",
                             "1"
                            }
                           ],
                           ")"
                          }
                         ],
                         "2"
                        ],
                        "+",
                        "x",
                        "+",
                        "2"
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      FractionBox[
                       "\[DifferentialD]",
                       RowBox[{"\[DifferentialD]", "x"}]
                      ],
                      SuperscriptBox[
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", "2"],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ],
                       "2"
                      ]
                     }
                    ],
                    "+",
                    RowBox[
                     {
                      FractionBox[
                       "\[DifferentialD]",
                       RowBox[{"\[DifferentialD]", "x"}]
                      ],
                      "2"
                     }
                    ],
                    "+",
                    RowBox[
                     {
                      FractionBox[
                       "\[DifferentialD]",
                       RowBox[{"\[DifferentialD]", "x"}]
                      ],
                      "x"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              SuperscriptBox["x", "2"],
                              "+",
                              RowBox[{"3", " ", "x"}],
                              "+",
                              "1"
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ],
                        ")"
                       }
                      ],
                      " ",
                      FractionBox[
                       RowBox[
                        {
                         "\[DifferentialD]",
                         FormBox[
                          SuperscriptBox[
                           RowBox[
                            {
                             "(",
                             RowBox[
                              {
                               SuperscriptBox["x", "2"],
                               "+",
                               RowBox[{"3", " ", "x"}],
                               "+",
                               "1"
                              }
                             ],
                             ")"
                            }
                           ],
                           "2"
                          ],
                          TraditionalForm
                         ]
                        }
                       ],
                       RowBox[
                        {
                         "\[DifferentialD]",
                         RowBox[
                          {
                           "(",
                           FormBox[
                            RowBox[
                             {
                              SuperscriptBox["x", "2"],
                              "+",
                              RowBox[{"3", " ", "x"}],
                              "+",
                              "1"
                             }
                            ],
                            TraditionalForm
                           ],
                           ")"
                          }
                         ]
                        }
                       ]
                      ]
                     }
                    ],
                    "+",
                    "1"
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Constant Rule\"",
                     "\"; \"",
                     "\"Chain Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             SuperscriptBox["x", "2"],
                             "+",
                             RowBox[{"3", " ", "x"}],
                             "+",
                             "1"
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[{"2", " ", FormBox["u", TraditionalForm]}],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "2",
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          SuperscriptBox["x", "2"],
                          "+",
                          RowBox[{"3", " ", "x"}],
                          "+",
                          "1"
                         }
                        ],
                        ")"
                       }
                      ],
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            FractionBox[
                             "\[DifferentialD]",
                             RowBox[{"\[DifferentialD]", "x"}]
                            ],
                            SuperscriptBox["x", "2"]
                           }
                          ],
                          "+",
                          RowBox[
                           {
                            FractionBox[
                             "\[DifferentialD]",
                             RowBox[{"\[DifferentialD]", "x"}]
                            ],
                            "1"
                           }
                          ],
                          "+",
                          RowBox[
                           {
                            FractionBox[
                             "\[DifferentialD]",
                             RowBox[{"\[DifferentialD]", "x"}]
                            ],
                            RowBox[{"3", " ", "x"}]
                           }
                          ]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    "+",
                    "1"
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "2",
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          SuperscriptBox["x", "2"],
                          "+",
                          RowBox[{"3", " ", "x"}],
                          "+",
                          "1"
                         }
                        ],
                        ")"
                       }
                      ],
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[{"2", " ", "x"}],
                          "+",
                          RowBox[
                           {
                            "3",
                            " ",
                            RowBox[
                             {
                              "(",
                              RowBox[
                               {
                                FractionBox[
                                 "\[DifferentialD]",
                                 RowBox[{"\[DifferentialD]", "x"}]
                                ],
                                "x"
                               }
                              ],
                              ")"
                             }
                            ]
                           }
                          ]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    "+",
                    "1"
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Constant Rule\"",
                     "\"; \"",
                     "\"Linearity Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "2",
                      " ",
                      RowBox[
                       {"(", RowBox[{RowBox[{"2", " ", "x"}], "+", "3"}], ")"}
                      ],
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          SuperscriptBox["x", "2"],
                          "+",
                          RowBox[{"3", " ", "x"}],
                          "+",
                          "1"
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    "+",
                    "1"
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[4]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     RowBox[
                      {
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"x", "^", "2"}],
                           "+",
                           RowBox[{"3", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ],
                       "^",
                       "2"
                      }
                     ],
                     "/",
                     RowBox[
                      {
                       "(",
                       RowBox[
                        {
                         RowBox[{"x", "^", "4"}],
                         "-",
                         RowBox[
                          {
                           "3",
                           RowBox[
                            {
                             "Surd",
                             "[",
                             RowBox[{RowBox[{"x", "^", "5"}], ",", "3"}],
                             "]"
                            }
                           ]
                          }
                         ],
                         "+",
                         "2"
                        }
                       ],
                       ")"
                      }
                     ]
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[5]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    FractionBox[
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          SuperscriptBox["x", "2"],
                          "+",
                          RowBox[{"3", " ", "x"}],
                          "+",
                          "1"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         "-",
                         RowBox[
                          {
                           "3",
                           " ",
                           RadicalBox[
                            SuperscriptBox["x", "5"],
                            "3",
                            MultilineFunction -> None,
                            SurdForm -> True
                           ]
                          }
                         ]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      SuperscriptBox[
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", "2"],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ],
                       "2"
                      ],
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          FractionBox[
                           "1",
                           RowBox[
                            {
                             RowBox[
                              {
                               "-",
                               RowBox[
                                {
                                 "3",
                                 " ",
                                 RadicalBox[
                                  SuperscriptBox["x", "5"],
                                  "3",
                                  MultilineFunction -> None,
                                  SurdForm -> True
                                 ]
                                }
                               ]
                              }
                             ],
                             "+",
                             SuperscriptBox["x", "4"],
                             "+",
                             "2"
                            }
                           ]
                          ]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    "+",
                    FractionBox[
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[{"\[DifferentialD]", "x"}]
                       ],
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", "2"],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            "1"
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         "-",
                         RowBox[
                          {
                           "3",
                           " ",
                           RadicalBox[
                            SuperscriptBox["x", "5"],
                            "3",
                            MultilineFunction -> None,
                            SurdForm -> True
                           ]
                          }
                         ]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Product Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      SuperscriptBox[
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", "2"],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ],
                       "2"
                      ],
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              RowBox[
                               {
                                "-",
                                RowBox[
                                 {
                                  "3",
                                  " ",
                                  RadicalBox[
                                   SuperscriptBox["x", "5"],
                                   "3",
                                   MultilineFunction -> None,
                                   SurdForm -> True
                                  ]
                                 }
                                ]
                               }
                              ],
                              "+",
                              SuperscriptBox["x", "4"],
                              "+",
                              "2"
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ],
                        ")"
                       }
                      ],
                      " ",
                      TagBox[
                       RowBox[
                        {
                         FractionBox[
                          "\[DifferentialD]",
                          RowBox[
                           {
                            "\[DifferentialD]",
                            RowBox[
                             {
                              "(",
                              FormBox[
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   "-",
                                   RowBox[
                                    {
                                     "3",
                                     " ",
                                     RadicalBox[
                                      SuperscriptBox["x", "5"],
                                      "3",
                                      MultilineFunction -> None,
                                      SurdForm -> True
                                     ]
                                    }
                                   ]
                                  }
                                 ],
                                 "+",
                                 SuperscriptBox["x", "4"],
                                 "+",
                                 "2"
                                }
                               ],
                               TraditionalForm
                              ],
                              ")"
                             }
                            ]
                           }
                          ]
                         ],
                         FormBox[
                          FractionBox[
                           "1",
                           RowBox[
                            {
                             RowBox[
                              {
                               "-",
                               RowBox[
                                {
                                 "3",
                                 " ",
                                 RadicalBox[
                                  SuperscriptBox["x", "5"],
                                  "3",
                                  MultilineFunction -> None,
                                  SurdForm -> True
                                 ]
                                }
                               ]
                              }
                             ],
                             "+",
                             SuperscriptBox["x", "4"],
                             "+",
                             "2"
                            }
                           ]
                          ],
                          TraditionalForm
                         ]
                        }
                       ],
                       D
                      ]
                     }
                    ],
                    "+",
                    FractionBox[
                     RowBox[
                      {
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           FractionBox[
                            "\[DifferentialD]",
                            RowBox[{"\[DifferentialD]", "x"}]
                           ],
                           RowBox[
                            {
                             "(",
                             RowBox[
                              {
                               SuperscriptBox["x", "2"],
                               "+",
                               RowBox[{"3", " ", "x"}],
                               "+",
                               "1"
                              }
                             ],
                             ")"
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       FractionBox[
                        RowBox[
                         {
                          "\[DifferentialD]",
                          FormBox[
                           SuperscriptBox[
                            RowBox[
                             {
                              "(",
                              RowBox[
                               {
                                SuperscriptBox["x", "2"],
                                "+",
                                RowBox[{"3", " ", "x"}],
                                "+",
                                "1"
                               }
                              ],
                              ")"
                             }
                            ],
                            "2"
                           ],
                           TraditionalForm
                          ]
                         }
                        ],
                        RowBox[
                         {
                          "\[DifferentialD]",
                          RowBox[
                           {
                            "(",
                            FormBox[
                             RowBox[
                              {
                               SuperscriptBox["x", "2"],
                               "+",
                               RowBox[{"3", " ", "x"}],
                               "+",
                               "1"
                              }
                             ],
                             TraditionalForm
                            ],
                            ")"
                           }
                          ]
                         }
                        ]
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         "-",
                         RowBox[
                          {
                           "3",
                           " ",
                           RadicalBox[
                            SuperscriptBox["x", "5"],
                            "3",
                            MultilineFunction -> None,
                            SurdForm -> True
                           ]
                          }
                         ]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    FractionBox["1", FormBox["u", TraditionalForm]]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             RowBox[
                              {
                               "-",
                               RowBox[
                                {
                                 "3",
                                 " ",
                                 RadicalBox[
                                  SuperscriptBox["x", "5"],
                                  "3",
                                  SurdForm -> True,
                                  MultilineFunction -> None
                                 ]
                                }
                               ]
                              }
                             ],
                             "+",
                             SuperscriptBox["x", "4"],
                             "+",
                             "2"
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "-",
                    FractionBox[
                     "1",
                     SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             SuperscriptBox["x", "2"],
                             "+",
                             RowBox[{"3", " ", "x"}],
                             "+",
                             "1"
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[{"2", " ", FormBox["u", TraditionalForm]}],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", "2"],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             SuperscriptBox["x", "2"]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             "1"
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             RowBox[{"3", " ", "x"}]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         "-",
                         RowBox[
                          {
                           "3",
                           " ",
                           RadicalBox[
                            SuperscriptBox["x", "5"],
                            "3",
                            MultilineFunction -> None,
                            SurdForm -> True
                           ]
                          }
                         ]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", "2"],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            "1"
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             RowBox[
                              {
                               RowBox[{"-", "3"}],
                               " ",
                               RadicalBox[
                                SuperscriptBox["x", "5"],
                                "3",
                                MultilineFunction -> None,
                                SurdForm -> True
                               ]
                              }
                             ]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             SuperscriptBox["x", "4"]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             "2"
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            "-",
                            RowBox[
                             {
                              "3",
                              " ",
                              RadicalBox[
                               SuperscriptBox["x", "5"],
                               "3",
                               MultilineFunction -> None,
                               SurdForm -> True
                              ]
                             }
                            ]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", "2"],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"2", " ", "x"}],
                           "+",
                           RowBox[
                            {
                             "3",
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 "x"
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         "-",
                         RowBox[
                          {
                           "3",
                           " ",
                           RadicalBox[
                            SuperscriptBox["x", "5"],
                            "3",
                            MultilineFunction -> None,
                            SurdForm -> True
                           ]
                          }
                         ]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", "2"],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            "1"
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"4", " ", SuperscriptBox["x", "3"]}],
                           "-",
                           RowBox[
                            {
                             "3",
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 RadicalBox[
                                  SuperscriptBox["x", "5"],
                                  "3",
                                  MultilineFunction -> None,
                                  SurdForm -> True
                                 ]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            "-",
                            RowBox[
                             {
                              "3",
                              " ",
                              RadicalBox[
                               SuperscriptBox["x", "5"],
                               "3",
                               MultilineFunction -> None,
                               SurdForm -> True
                              ]
                             }
                            ]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Constant Rule\"",
                     "\"; \"",
                     "\"Linearity Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {"(", RowBox[{RowBox[{"2", " ", "x"}], "+", "3"}], ")"}
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", "2"],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         "-",
                         RowBox[
                          {
                           "3",
                           " ",
                           RadicalBox[
                            SuperscriptBox["x", "5"],
                            "3",
                            MultilineFunction -> None,
                            SurdForm -> True
                           ]
                          }
                         ]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", "2"],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            "1"
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"4", " ", SuperscriptBox["x", "3"]}],
                           "-",
                           RowBox[
                            {
                             "3",
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 SuperscriptBox["x", "5"]
                                }
                               ],
                               ")"
                              }
                             ],
                             " ",
                             FractionBox[
                              RowBox[
                               {
                                "\[DifferentialD]",
                                FormBox[
                                 RadicalBox[
                                  SuperscriptBox["x", "5"],
                                  "3",
                                  MultilineFunction -> None,
                                  SurdForm -> True
                                 ],
                                 TraditionalForm
                                ]
                               }
                              ],
                              RowBox[
                               {
                                "\[DifferentialD]",
                                FormBox[SuperscriptBox["x", "5"], TraditionalForm]
                               }
                              ]
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            "-",
                            RowBox[
                             {
                              "3",
                              " ",
                              RadicalBox[
                               SuperscriptBox["x", "5"],
                               "3",
                               MultilineFunction -> None,
                               SurdForm -> True
                              ]
                             }
                            ]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RadicalBox[
                     FormBox["u", TraditionalForm],
                     "3",
                     MultilineFunction -> None,
                     SurdForm -> True
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           SuperscriptBox["x", "5"]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   "1",
                   RowBox[
                    {
                     "3",
                     " ",
                     SuperscriptBox[
                      RadicalBox[
                       FormBox["u", TraditionalForm],
                       "3",
                       MultilineFunction -> None,
                       SurdForm -> True
                      ],
                      "2"
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {"(", RowBox[{RowBox[{"2", " ", "x"}], "+", "3"}], ")"}
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", "2"],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           "1"
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         "-",
                         RowBox[
                          {
                           "3",
                           " ",
                           RadicalBox[
                            SuperscriptBox["x", "5"],
                            "3",
                            MultilineFunction -> None,
                            SurdForm -> True
                           ]
                          }
                         ]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", "2"],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            "1"
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"4", " ", SuperscriptBox["x", "3"]}],
                           "-",
                           FractionBox[
                            RowBox[{"5", " ", SuperscriptBox["x", "4"]}],
                            SuperscriptBox[
                             RadicalBox[
                              SuperscriptBox["x", "5"],
                              "3",
                              MultilineFunction -> None,
                              SurdForm -> True
                             ],
                             "2"
                            ]
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            "-",
                            RowBox[
                             {
                              "3",
                              " ",
                              RadicalBox[
                               SuperscriptBox["x", "5"],
                               "3",
                               MultilineFunction -> None,
                               SurdForm -> True
                              ]
                             }
                            ]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[5]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {"RealAbs", "[", RowBox[{"Tan", "[", "x", "]"}], "]"}
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[6]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    TemplateBox[{RowBox[{"tan", "(", "x", ")"}]}, "RealAbs"]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[{"tan", "(", "x", ")"}]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        TemplateBox[{RowBox[{"tan", "(", "x", ")"}]}, "RealAbs"],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[RowBox[{"tan", "(", "x", ")"}], TraditionalForm]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    TemplateBox[{FormBox["u", TraditionalForm]}, "RealAbs"]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{"tan", "(", "x", ")"}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   FormBox["u", TraditionalForm],
                   TemplateBox[{FormBox["u", TraditionalForm]}, "RealAbs"]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     RowBox[{"tan", "(", "x", ")"}],
                     " ",
                     RowBox[{SuperscriptBox["sec", "2"], "(", "x", ")"}]
                    }
                   ],
                   TemplateBox[{RowBox[{"tan", "(", "x", ")"}]}, "RealAbs"]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[6]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     "Sqrt",
                     "[",
                     RowBox[{RowBox[{"2", "^", "x"}], "-", "1"}],
                     "]"
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[7]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    SqrtBox[RowBox[{SuperscriptBox["2", "x"], "-", "1"}]]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {"(", RowBox[{SuperscriptBox["2", "x"], "-", "1"}], ")"}
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        SqrtBox[RowBox[{SuperscriptBox["2", "x"], "-", "1"}]],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       RowBox[
                        {
                         "(",
                         FormBox[
                          RowBox[{SuperscriptBox["2", "x"], "-", "1"}],
                          TraditionalForm
                         ],
                         ")"
                        }
                       ]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    SqrtBox[FormBox["u", TraditionalForm]]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{SuperscriptBox["2", "x"], "-", RowBox[{"1"}]}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   "1",
                   RowBox[{"2", " ", SqrtBox[FormBox["u", TraditionalForm]]}]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[{"\[DifferentialD]", "x"}]
                       ],
                       RowBox[{"-", "1"}]
                      }
                     ],
                     "+",
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[{"\[DifferentialD]", "x"}]
                       ],
                       SuperscriptBox["2", "x"]
                      }
                     ]
                    }
                   ],
                   RowBox[
                    {
                     "2",
                     " ",
                     SqrtBox[RowBox[{SuperscriptBox["2", "x"], "-", "1"}]]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     SuperscriptBox["2", RowBox[{"x", "-", "1"}]],
                     " ",
                     RowBox[{"log", "(", "2", ")"}]
                    }
                   ],
                   SqrtBox[RowBox[{SuperscriptBox["2", "x"], "-", "1"}]]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Constant Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[7]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     "x",
                     "^",
                     RowBox[{"ArcSin", "@", RowBox[{"Sqrt", "[", "x", "]"}]}]
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[8]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    SuperscriptBox[
                     "x",
                     RowBox[
                      {
                       SuperscriptBox["sin", RowBox[{"-", "1"}]],
                       "(",
                       SqrtBox["x"],
                       ")"
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RowBox[
                     {
                      TemplateBox[
                       {"exp"},
                       "InactiveHead",
                       BaseStyle -> "InactiveTraditional",
                       InterpretationFunction -> None,
                       SyntaxForm -> "Symbol",
                       Tooltip -> "Inactive[Exp]"
                      ],
                      "(",
                      RowBox[
                       {
                        RowBox[{"log", "(", "x", ")"}],
                        " ",
                        RowBox[
                         {
                          SuperscriptBox["sin", RowBox[{"-", "1"}]],
                          "(",
                          SqrtBox["x"],
                          ")"
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {
                          RowBox[{"log", "(", "x", ")"}],
                          " ",
                          RowBox[
                           {
                            SuperscriptBox["sin", RowBox[{"-", "1"}]],
                            "(",
                            SqrtBox["x"],
                            ")"
                           }
                          ]
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    TagBox[
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[
                         {
                          "\[DifferentialD]",
                          FormBox[
                           RowBox[
                            {
                             RowBox[{"log", "(", "x", ")"}],
                             " ",
                             RowBox[
                              {
                               SuperscriptBox["sin", RowBox[{"-", "1"}]],
                               "(",
                               SqrtBox["x"],
                               ")"
                              }
                             ]
                            }
                           ],
                           TraditionalForm
                          ]
                         }
                        ]
                       ],
                       FormBox[
                        RowBox[
                         {
                          TemplateBox[
                           {"exp"},
                           "InactiveHead",
                           BaseStyle -> "InactiveTraditional",
                           InterpretationFunction -> None,
                           SyntaxForm -> "Symbol",
                           Tooltip -> "Inactive[Exp]"
                          ],
                          "(",
                          RowBox[
                           {
                            RowBox[{"log", "(", "x", ")"}],
                            " ",
                            RowBox[
                             {
                              SuperscriptBox["sin", RowBox[{"-", "1"}]],
                              "(",
                              SqrtBox["x"],
                              ")"
                             }
                            ]
                           }
                          ],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     D
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[
                     {
                      TemplateBox[
                       {"exp"},
                       "InactiveHead",
                       BaseStyle -> "InactiveTraditional",
                       InterpretationFunction -> None,
                       SyntaxForm -> "Symbol",
                       Tooltip -> "Inactive[Exp]"
                      ],
                      "(",
                      FormBox["u", TraditionalForm],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             RowBox[{"log", "(", "x", ")"}],
                             " ",
                             RowBox[
                              {
                               SuperscriptBox["sin", RowBox[{"-", "1"}]],
                               "(",
                               SqrtBox["x"],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  SuperscriptBox[
                   "\[ExponentialE]",
                   FormBox["u", TraditionalForm]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    SuperscriptBox[
                     "x",
                     RowBox[
                      {
                       SuperscriptBox["sin", RowBox[{"-", "1"}]],
                       "(",
                       SqrtBox["x"],
                       ")"
                      }
                     ]
                    ],
                    " ",
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[
                           {
                            SuperscriptBox["sin", RowBox[{"-", "1"}]],
                            "(",
                            SqrtBox["x"],
                            ")"
                           }
                          ],
                          " ",
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              FractionBox[
                               "\[DifferentialD]",
                               RowBox[{"\[DifferentialD]", "x"}]
                              ],
                              RowBox[{"log", "(", "x", ")"}]
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ],
                        "+",
                        RowBox[
                         {
                          RowBox[{"log", "(", "x", ")"}],
                          " ",
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              FractionBox[
                               "\[DifferentialD]",
                               RowBox[{"\[DifferentialD]", "x"}]
                              ],
                              RowBox[
                               {
                                SuperscriptBox["sin", RowBox[{"-", "1"}]],
                                "(",
                                SqrtBox["x"],
                                ")"
                               }
                              ]
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Product Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    SuperscriptBox[
                     "x",
                     RowBox[
                      {
                       SuperscriptBox["sin", RowBox[{"-", "1"}]],
                       "(",
                       SqrtBox["x"],
                       ")"
                      }
                     ]
                    ],
                    " ",
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         RowBox[
                          {
                           SuperscriptBox["sin", RowBox[{"-", "1"}]],
                           "(",
                           SqrtBox["x"],
                           ")"
                          }
                         ],
                         "x"
                        ],
                        "+",
                        RowBox[
                         {
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              FractionBox[
                               "\[DifferentialD]",
                               RowBox[{"\[DifferentialD]", "x"}]
                              ],
                              SqrtBox["x"]
                             }
                            ],
                            ")"
                           }
                          ],
                          " ",
                          RowBox[{"log", "(", "x", ")"}],
                          " ",
                          FractionBox[
                           RowBox[
                            {
                             "\[DifferentialD]",
                             FormBox[
                              RowBox[
                               {
                                SuperscriptBox["sin", RowBox[{"-", "1"}]],
                                "(",
                                SqrtBox["x"],
                                ")"
                               }
                              ],
                              TraditionalForm
                             ]
                            }
                           ],
                           RowBox[
                            {
                             "\[DifferentialD]",
                             FormBox[SqrtBox["x"], TraditionalForm]
                            }
                           ]
                          ]
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[
                     {
                      SuperscriptBox["sin", RowBox[{"-", "1"}]],
                      "(",
                      FormBox["u", TraditionalForm],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           SqrtBox["x"]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   "1",
                   SqrtBox[
                    RowBox[
                     {
                      "1",
                      "-",
                      SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                     }
                    ]
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    SuperscriptBox[
                     "x",
                     RowBox[
                      {
                       SuperscriptBox["sin", RowBox[{"-", "1"}]],
                       "(",
                       SqrtBox["x"],
                       ")"
                      }
                     ]
                    ],
                    " ",
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         RowBox[{"log", "(", "x", ")"}],
                         RowBox[
                          {
                           "2",
                           " ",
                           SqrtBox[RowBox[{"1", "-", "x"}]],
                           " ",
                           SqrtBox["x"]
                          }
                         ]
                        ],
                        "+",
                        FractionBox[
                         RowBox[
                          {
                           SuperscriptBox["sin", RowBox[{"-", "1"}]],
                           "(",
                           SqrtBox["x"],
                           ")"
                          }
                         ],
                         "x"
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[8]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                 "[",
                 RowBox[
                  {
                   RowBox[
                    {
                     "Log",
                     "[",
                     RowBox[
                      {
                       "Sec",
                       "[",
                       RowBox[{RowBox[{"3", "^", "x"}], "-", "1"}],
                       "]"
                      }
                     ],
                     "]"
                    }
                   ],
                   ",",
                   "x"
                  }
                 ],
                 "]"
                }
               ],
               "//",
               "Through"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[9]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RowBox[
                     {
                      "log",
                      "(",
                      RowBox[
                       {
                        "sec",
                        "(",
                        RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                        ")"
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "log",
                          "(",
                          RowBox[
                           {
                            "sec",
                            "(",
                            RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                            ")"
                           }
                          ],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"log", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             "sec",
                             "(",
                             RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                             ")"
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox["1", FormBox["u", TraditionalForm]],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        RowBox[
                         {"(", RowBox[{"1", "-", SuperscriptBox["3", "x"]}], ")"}
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "cos",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[
                         {
                          "sec",
                          "(",
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          ")"
                         }
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       RowBox[
                        {
                         "(",
                         FormBox[
                          RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                          TraditionalForm
                         ],
                         ")"
                        }
                       ]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"sec", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{"1", "-", SuperscriptBox["3", "x"]}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"tan", "(", FormBox["u", TraditionalForm], ")"}],
                    " ",
                    RowBox[{"sec", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          "1"
                         }
                        ],
                        "+",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          RowBox[{"-", SuperscriptBox["3", "x"]}]
                         }
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "-",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          SuperscriptBox["3", "x"]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Constant Rule\"",
                     "\"; \"",
                     "\"Linearity Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[{"-", SuperscriptBox["3", "x"]}],
                    " ",
                    RowBox[{"log", "(", "3", ")"}],
                    " ",
                    RowBox[
                     {
                      "tan",
                      "(",
                      RowBox[{"1", "-", SuperscriptBox["3", "x"]}],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[9]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[
                  {
                   RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                   "[",
                   RowBox[
                    {
                     SqrtBox[
                      FractionBox[
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                         RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}]
                        }
                       ],
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}],
                         RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}]
                        }
                       ]
                      ]
                     ],
                     ",",
                     "x"
                    }
                   ],
                   "]"
                  }
                 ],
                 "//",
                 "Through"
                }
               ],
               "//",
               "Simplify"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[10]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    SqrtBox[
                     FractionBox[
                      RowBox[
                       {
                        RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                       }
                      ],
                      RowBox[
                       {
                        RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                       }
                      ]
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        FractionBox[
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                          }
                         ],
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                          }
                         ]
                        ]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    TagBox[
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[
                         {
                          "\[DifferentialD]",
                          FormBox[
                           FractionBox[
                            RowBox[
                             {
                              RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                              " ",
                              RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                             }
                            ],
                            RowBox[
                             {
                              RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                              " ",
                              RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                             }
                            ]
                           ],
                           TraditionalForm
                          ]
                         }
                        ]
                       ],
                       FormBox[
                        SqrtBox[
                         FractionBox[
                          RowBox[
                           {
                            RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                            " ",
                            RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                           }
                          ],
                          RowBox[
                           {
                            RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                            " ",
                            RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                           }
                          ]
                         ]
                        ],
                        TraditionalForm
                       ]
                      }
                     ],
                     D
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    SqrtBox[FormBox["u", TraditionalForm]]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           FractionBox[
                            RowBox[
                             {
                              RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                              " ",
                              RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                             }
                            ],
                            RowBox[
                             {
                              RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                              " ",
                              RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                             }
                            ]
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   "1",
                   RowBox[{"2", " ", SqrtBox[FormBox["u", TraditionalForm]]}]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     FractionBox[
                      RowBox[
                       {
                        RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                        " ",
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            FractionBox[
                             "\[DifferentialD]",
                             RowBox[{"\[DifferentialD]", "x"}]
                            ],
                            FractionBox["1", RowBox[{"x", "-", "4"}]]
                           }
                          ],
                          ")"
                         }
                        ]
                       }
                      ],
                      RowBox[{"x", "-", "3"}]
                     ],
                     "+",
                     FractionBox[
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        FractionBox[
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                          }
                         ],
                         RowBox[{"x", "-", "3"}]
                        ]
                       }
                      ],
                      RowBox[{"x", "-", "4"}]
                     ]
                    }
                   ],
                   RowBox[
                    {
                     "2",
                     " ",
                     SqrtBox[
                      FractionBox[
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                        }
                       ],
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                        }
                       ]
                      ]
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Product Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     FractionBox[
                      RowBox[
                       {
                        RowBox[
                         {
                          RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                          " ",
                          RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                          " ",
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              FractionBox[
                               "\[DifferentialD]",
                               RowBox[{"\[DifferentialD]", "x"}]
                              ],
                              FractionBox["1", RowBox[{"x", "-", "3"}]]
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ],
                        "+",
                        FractionBox[
                         RowBox[
                          {
                           FractionBox[
                            "\[DifferentialD]",
                            RowBox[{"\[DifferentialD]", "x"}]
                           ],
                           RowBox[
                            {
                             RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                             " ",
                             RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                            }
                           ]
                          }
                         ],
                         RowBox[{"x", "-", "3"}]
                        ]
                       }
                      ],
                      RowBox[{"x", "-", "4"}]
                     ],
                     "+",
                     FractionBox[
                      RowBox[
                       {
                        RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                        " ",
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            FractionBox[
                             "\[DifferentialD]",
                             RowBox[{"\[DifferentialD]", "x"}]
                            ],
                            RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}]
                           }
                          ],
                          ")"
                         }
                        ],
                        " ",
                        TagBox[
                         RowBox[
                          {
                           FractionBox[
                            "\[DifferentialD]",
                            RowBox[
                             {
                              "\[DifferentialD]",
                              RowBox[
                               {
                                "(",
                                FormBox[RowBox[{"x", "-", "4"}], TraditionalForm],
                                ")"
                               }
                              ]
                             }
                            ]
                           ],
                           FormBox[
                            FractionBox["1", RowBox[{"x", "-", "4"}]],
                            TraditionalForm
                           ]
                          }
                         ],
                         D
                        ]
                       }
                      ],
                      RowBox[{"x", "-", "3"}]
                     ]
                    }
                   ],
                   RowBox[
                    {
                     "2",
                     " ",
                     SqrtBox[
                      FractionBox[
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                        }
                       ],
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                        }
                       ]
                      ]
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Product Rule\"",
                     "\"; \"",
                     "\"Chain Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    FractionBox["1", FormBox["u", TraditionalForm]]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{"x", "-", "4"}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "-",
                    FractionBox[
                     "1",
                     SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "1",
                     RowBox[
                      {
                       "2",
                       " ",
                       SqrtBox[
                        FractionBox[
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                          }
                         ],
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                          }
                         ]
                        ]
                       ]
                      }
                     ]
                    ],
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        RowBox[
                         {
                          FractionBox["1", RowBox[{"x", "-", "4"}]],
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              FractionBox[
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                                   " ",
                                   RowBox[
                                    {
                                     "(",
                                     RowBox[
                                      {
                                       FractionBox[
                                        "\[DifferentialD]",
                                        RowBox[{"\[DifferentialD]", "x"}]
                                       ],
                                       RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}]
                                      }
                                     ],
                                     ")"
                                    }
                                   ]
                                  }
                                 ],
                                 "+",
                                 RowBox[
                                  {
                                   RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                                   " ",
                                   RowBox[
                                    {
                                     "(",
                                     RowBox[
                                      {
                                       FractionBox[
                                        "\[DifferentialD]",
                                        RowBox[{"\[DifferentialD]", "x"}]
                                       ],
                                       RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                                      }
                                     ],
                                     ")"
                                    }
                                   ]
                                  }
                                 ]
                                }
                               ],
                               RowBox[{"x", "-", "3"}]
                              ],
                              "+",
                              RowBox[
                               {
                                RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                                " ",
                                RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                                " ",
                                RowBox[
                                 {
                                  "(",
                                  RowBox[
                                   {
                                    FractionBox[
                                     "\[DifferentialD]",
                                     RowBox[{"\[DifferentialD]", "x"}]
                                    ],
                                    RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                                   }
                                  ],
                                  ")"
                                 }
                                ],
                                " ",
                                TagBox[
                                 RowBox[
                                  {
                                   FractionBox[
                                    "\[DifferentialD]",
                                    RowBox[
                                     {
                                      "\[DifferentialD]",
                                      RowBox[
                                       {
                                        "(",
                                        FormBox[RowBox[{"x", "-", "3"}], TraditionalForm],
                                        ")"
                                       }
                                      ]
                                     }
                                    ]
                                   ],
                                   FormBox[
                                    FractionBox["1", RowBox[{"x", "-", "3"}]],
                                    TraditionalForm
                                   ]
                                  }
                                 ],
                                 D
                                ]
                               }
                              ]
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ],
                        "-",
                        FractionBox[
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                           " ",
                           RowBox[
                            {
                             "(",
                             RowBox[
                              {
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 RowBox[{"-", "4"}]
                                }
                               ],
                               "+",
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 "x"
                                }
                               ]
                              }
                             ],
                             ")"
                            }
                           ]
                          }
                         ],
                         RowBox[
                          {
                           SuperscriptBox[
                            RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                            "2"
                           ],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                          }
                         ]
                        ]
                       }
                      ],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Linearity Rule\"",
                     "\"; \"",
                     "\"Product Rule\"",
                     "\"; \"",
                     "\"Chain Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    FractionBox["1", FormBox["u", TraditionalForm]]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{"x", "-", "3"}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "-",
                    FractionBox[
                     "1",
                     SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     FractionBox[
                      RowBox[
                       {
                        FractionBox[
                         RowBox[
                          {
                           RowBox[
                            {
                             RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   FractionBox[
                                    "\[DifferentialD]",
                                    RowBox[{"\[DifferentialD]", "x"}]
                                   ],
                                   RowBox[{"-", "2"}]
                                  }
                                 ],
                                 "+",
                                 RowBox[
                                  {
                                   FractionBox[
                                    "\[DifferentialD]",
                                    RowBox[{"\[DifferentialD]", "x"}]
                                   ],
                                   "x"
                                  }
                                 ]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   FractionBox[
                                    "\[DifferentialD]",
                                    RowBox[{"\[DifferentialD]", "x"}]
                                   ],
                                   RowBox[{"-", "1"}]
                                  }
                                 ],
                                 "+",
                                 RowBox[
                                  {
                                   FractionBox[
                                    "\[DifferentialD]",
                                    RowBox[{"\[DifferentialD]", "x"}]
                                   ],
                                   "x"
                                  }
                                 ]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         RowBox[{"x", "-", "3"}]
                        ],
                        "-",
                        FractionBox[
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}],
                           " ",
                           RowBox[
                            {
                             "(",
                             RowBox[
                              {
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 RowBox[{"-", "3"}]
                                }
                               ],
                               "+",
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 "x"
                                }
                               ]
                              }
                             ],
                             ")"
                            }
                           ]
                          }
                         ],
                         SuperscriptBox[
                          RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}],
                          "2"
                         ]
                        ]
                       }
                      ],
                      RowBox[{"x", "-", "4"}]
                     ],
                     "-",
                     FractionBox[
                      RowBox[
                       {
                        RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                       }
                      ],
                      RowBox[
                       {
                        SuperscriptBox[
                         RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                         "2"
                        ],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                       }
                      ]
                     ]
                    }
                   ],
                   RowBox[
                    {
                     "2",
                     " ",
                     SqrtBox[
                      FractionBox[
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                        }
                       ],
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                        }
                       ]
                      ]
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Constant Rule\"",
                     "\"; \"",
                     "\"Linearity Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   RowBox[
                    {
                     FractionBox[
                      RowBox[
                       {
                        FractionBox[
                         RowBox[{RowBox[{"2", " ", "x"}], "-", "3"}],
                         RowBox[{"x", "-", "3"}]
                        ],
                        "-",
                        FractionBox[
                         RowBox[
                          {
                           RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                           " ",
                           RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                          }
                         ],
                         SuperscriptBox[
                          RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}],
                          "2"
                         ]
                        ]
                       }
                      ],
                      RowBox[{"x", "-", "4"}]
                     ],
                     "-",
                     FractionBox[
                      RowBox[
                       {
                        RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                       }
                      ],
                      RowBox[
                       {
                        SuperscriptBox[
                         RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                         "2"
                        ],
                        " ",
                        RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                       }
                      ]
                     ]
                    }
                   ],
                   RowBox[
                    {
                     "2",
                     " ",
                     SqrtBox[
                      FractionBox[
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "2"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]
                        }
                       ],
                       RowBox[
                        {
                         RowBox[{"(", RowBox[{"x", "-", "4"}], ")"}],
                         " ",
                         RowBox[{"(", RowBox[{"x", "-", "3"}], ")"}]
                        }
                       ]
                      ]
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Constant Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[10]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               RowBox[
                {
                 RowBox[
                  {
                   RowBox[{"(", RowBox[{"StepD", "\[Equal]", "D"}], ")"}],
                   "[",
                   RowBox[
                    {
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[
                          {
                           "(",
                           RowBox[
                            {
                             RowBox[{"x", "^", RowBox[{"Sin", "[", "x", "]"}]}],
                             "+",
                             RowBox[{"3", "x"}],
                             "+",
                             RowBox[{"ArcTan", "[", "x", "]"}]
                            }
                           ],
                           ")"
                          }
                         ],
                         "^",
                         "2"
                        }
                       ],
                       "/",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"x", "^", "4"}],
                           "-",
                           RowBox[
                            {
                             "3",
                             RowBox[
                              {
                               "Surd",
                               "[",
                               RowBox[{RowBox[{"x", "^", "5"}], ",", "3"}],
                               "]"
                              }
                             ],
                             RowBox[{"RealAbs", "@", RowBox[{"Log", "[", "x", "]"}]}]
                            }
                           ],
                           "+",
                           "2"
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     ",",
                     "x"
                    }
                   ],
                   "]"
                  }
                 ],
                 "//",
                 "Through"
                }
               ],
               "//",
               "Simplify"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[11]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    FractionBox[
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                          "+",
                          RowBox[{"3", " ", "x"}],
                          "+",
                          RowBox[
                           {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                          ]
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      SuperscriptBox[
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           RowBox[
                            {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       "2"
                      ],
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          FractionBox[
                           "1",
                           RowBox[
                            {
                             RowBox[
                              {
                               RowBox[{"-", "3"}],
                               " ",
                               RadicalBox[
                                SuperscriptBox["x", "5"],
                                "3",
                                MultilineFunction -> None,
                                SurdForm -> True
                               ],
                               " ",
                               TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                              }
                             ],
                             "+",
                             SuperscriptBox["x", "4"],
                             "+",
                             "2"
                            }
                           ]
                          ]
                         }
                        ],
                        ")"
                       }
                      ]
                     }
                    ],
                    "+",
                    FractionBox[
                     RowBox[
                      {
                       FractionBox[
                        "\[DifferentialD]",
                        RowBox[{"\[DifferentialD]", "x"}]
                       ],
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            RowBox[
                             {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                            ]
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Product Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      SuperscriptBox[
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           RowBox[
                            {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       "2"
                      ],
                      " ",
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          FractionBox[
                           "\[DifferentialD]",
                           RowBox[{"\[DifferentialD]", "x"}]
                          ],
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              RowBox[
                               {
                                RowBox[{"-", "3"}],
                                " ",
                                RadicalBox[
                                 SuperscriptBox["x", "5"],
                                 "3",
                                 MultilineFunction -> None,
                                 SurdForm -> True
                                ],
                                " ",
                                TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                               }
                              ],
                              "+",
                              SuperscriptBox["x", "4"],
                              "+",
                              "2"
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ],
                        ")"
                       }
                      ],
                      " ",
                      TagBox[
                       RowBox[
                        {
                         FractionBox[
                          "\[DifferentialD]",
                          RowBox[
                           {
                            "\[DifferentialD]",
                            RowBox[
                             {
                              "(",
                              FormBox[
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   RowBox[{"-", "3"}],
                                   " ",
                                   RadicalBox[
                                    SuperscriptBox["x", "5"],
                                    "3",
                                    MultilineFunction -> None,
                                    SurdForm -> True
                                   ],
                                   " ",
                                   TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                  }
                                 ],
                                 "+",
                                 SuperscriptBox["x", "4"],
                                 "+",
                                 "2"
                                }
                               ],
                               TraditionalForm
                              ],
                              ")"
                             }
                            ]
                           }
                          ]
                         ],
                         FormBox[
                          FractionBox[
                           "1",
                           RowBox[
                            {
                             RowBox[
                              {
                               RowBox[{"-", "3"}],
                               " ",
                               RadicalBox[
                                SuperscriptBox["x", "5"],
                                "3",
                                MultilineFunction -> None,
                                SurdForm -> True
                               ],
                               " ",
                               TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                              }
                             ],
                             "+",
                             SuperscriptBox["x", "4"],
                             "+",
                             "2"
                            }
                           ]
                          ],
                          TraditionalForm
                         ]
                        }
                       ],
                       D
                      ]
                     }
                    ],
                    "+",
                    FractionBox[
                     RowBox[
                      {
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           FractionBox[
                            "\[DifferentialD]",
                            RowBox[{"\[DifferentialD]", "x"}]
                           ],
                           RowBox[
                            {
                             "(",
                             RowBox[
                              {
                               SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                               "+",
                               RowBox[{"3", " ", "x"}],
                               "+",
                               RowBox[
                                {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                               ]
                              }
                             ],
                             ")"
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       FractionBox[
                        RowBox[
                         {
                          "\[DifferentialD]",
                          FormBox[
                           SuperscriptBox[
                            RowBox[
                             {
                              "(",
                              RowBox[
                               {
                                SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                                "+",
                                RowBox[{"3", " ", "x"}],
                                "+",
                                RowBox[
                                 {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                                ]
                               }
                              ],
                              ")"
                             }
                            ],
                            "2"
                           ],
                           TraditionalForm
                          ]
                         }
                        ],
                        RowBox[
                         {
                          "\[DifferentialD]",
                          RowBox[
                           {
                            "(",
                            FormBox[
                             RowBox[
                              {
                               SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                               "+",
                               RowBox[{"3", " ", "x"}],
                               "+",
                               RowBox[
                                {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                               ]
                              }
                             ],
                             TraditionalForm
                            ],
                            ")"
                           }
                          ]
                         }
                        ]
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    FractionBox["1", FormBox["u", TraditionalForm]]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             RowBox[
                              {
                               "-",
                               RowBox[
                                {
                                 "3",
                                 " ",
                                 RadicalBox[
                                  SuperscriptBox["x", "5"],
                                  "3",
                                  SurdForm -> True,
                                  MultilineFunction -> None
                                 ],
                                 " ",
                                 TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                }
                               ]
                              }
                             ],
                             "+",
                             SuperscriptBox["x", "4"],
                             "+",
                             "2"
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "-",
                    FractionBox[
                     "1",
                     SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    SuperscriptBox[FormBox["u", TraditionalForm], "2"]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                             "+",
                             RowBox[{"3", " ", "x"}],
                             "+",
                             RowBox[
                              {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                             ]
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[{"2", " ", FormBox["u", TraditionalForm]}],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           RowBox[
                            {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             RowBox[{"3", " ", "x"}]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             RowBox[
                              {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            RowBox[
                             {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                            ]
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             RowBox[
                              {
                               FractionBox[
                                "\[DifferentialD]",
                                RowBox[{"\[DifferentialD]", "x"}]
                               ],
                               RowBox[{"-", "3"}]
                              }
                             ],
                             " ",
                             RadicalBox[
                              SuperscriptBox["x", "5"],
                              "3",
                              MultilineFunction -> None,
                              SurdForm -> True
                             ],
                             " ",
                             TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             SuperscriptBox["x", "4"]
                            }
                           ],
                           "+",
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             "2"
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            RowBox[{"-", "3"}],
                            " ",
                            RadicalBox[
                             SuperscriptBox["x", "5"],
                             "3",
                             MultilineFunction -> None,
                             SurdForm -> True
                            ],
                            " ",
                            TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Linearity Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           RowBox[
                            {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             FractionBox[
                              "\[DifferentialD]",
                              RowBox[{"\[DifferentialD]", "x"}]
                             ],
                             RowBox[
                              {
                               TemplateBox[
                                {"exp"},
                                "InactiveHead",
                                BaseStyle -> "InactiveTraditional",
                                InterpretationFunction -> None,
                                SyntaxForm -> "Symbol",
                                Tooltip -> "Inactive[Exp]"
                               ],
                               "(",
                               RowBox[
                                {
                                 RowBox[{"log", "(", "x", ")"}],
                                 " ",
                                 RowBox[{"sin", "(", "x", ")"}]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ],
                           "+",
                           FractionBox[
                            "1",
                            RowBox[{SuperscriptBox["x", "2"], "+", "1"}]
                           ],
                           "+",
                           RowBox[
                            {
                             "3",
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 "x"
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            RowBox[
                             {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                            ]
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"4", " ", SuperscriptBox["x", "3"]}],
                           "-",
                           RowBox[
                            {
                             "3",
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   FractionBox[
                                    "\[DifferentialD]",
                                    RowBox[{"\[DifferentialD]", "x"}]
                                   ],
                                   RadicalBox[
                                    SuperscriptBox["x", "5"],
                                    "3",
                                    MultilineFunction -> None,
                                    SurdForm -> True
                                   ]
                                  }
                                 ],
                                 " ",
                                 TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            RowBox[{"-", "3"}],
                            " ",
                            RadicalBox[
                             SuperscriptBox["x", "5"],
                             "3",
                             MultilineFunction -> None,
                             SurdForm -> True
                            ],
                            " ",
                            TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Constant Rule\"",
                     "\"; \"",
                     "\"Linearity Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           RowBox[
                            {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 FractionBox[
                                  "\[DifferentialD]",
                                  RowBox[{"\[DifferentialD]", "x"}]
                                 ],
                                 RowBox[
                                  {
                                   RowBox[{"log", "(", "x", ")"}],
                                   " ",
                                   RowBox[{"sin", "(", "x", ")"}]
                                  }
                                 ]
                                }
                               ],
                               ")"
                              }
                             ],
                             " ",
                             TagBox[
                              RowBox[
                               {
                                FractionBox[
                                 "\[DifferentialD]",
                                 RowBox[
                                  {
                                   "\[DifferentialD]",
                                   FormBox[
                                    RowBox[
                                     {
                                      RowBox[{"log", "(", "x", ")"}],
                                      " ",
                                      RowBox[{"sin", "(", "x", ")"}]
                                     }
                                    ],
                                    TraditionalForm
                                   ]
                                  }
                                 ]
                                ],
                                FormBox[
                                 RowBox[
                                  {
                                   TemplateBox[
                                    {"exp"},
                                    "InactiveHead",
                                    BaseStyle -> "InactiveTraditional",
                                    InterpretationFunction -> None,
                                    SyntaxForm -> "Symbol",
                                    Tooltip -> "Inactive[Exp]"
                                   ],
                                   "(",
                                   RowBox[
                                    {
                                     RowBox[{"log", "(", "x", ")"}],
                                     " ",
                                     RowBox[{"sin", "(", "x", ")"}]
                                    }
                                   ],
                                   ")"
                                  }
                                 ],
                                 TraditionalForm
                                ]
                               }
                              ],
                              D
                             ]
                            }
                           ],
                           "+",
                           FractionBox[
                            "1",
                            RowBox[{SuperscriptBox["x", "2"], "+", "1"}]
                           ],
                           "+",
                           "3"
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            RowBox[
                             {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                            ]
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"4", " ", SuperscriptBox["x", "3"]}],
                           "-",
                           RowBox[
                            {
                             "3",
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   RowBox[
                                    {
                                     "(",
                                     RowBox[
                                      {
                                       FractionBox[
                                        "\[DifferentialD]",
                                        RowBox[{"\[DifferentialD]", "x"}]
                                       ],
                                       RadicalBox[
                                        SuperscriptBox["x", "5"],
                                        "3",
                                        MultilineFunction -> None,
                                        SurdForm -> True
                                       ]
                                      }
                                     ],
                                     ")"
                                    }
                                   ],
                                   " ",
                                   TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                  }
                                 ],
                                 "+",
                                 RowBox[
                                  {
                                   RadicalBox[
                                    SuperscriptBox["x", "5"],
                                    "3",
                                    MultilineFunction -> None,
                                    SurdForm -> True
                                   ],
                                   " ",
                                   RowBox[
                                    {
                                     "(",
                                     RowBox[
                                      {
                                       FractionBox[
                                        "\[DifferentialD]",
                                        RowBox[{"\[DifferentialD]", "x"}]
                                       ],
                                       TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                      }
                                     ],
                                     ")"
                                    }
                                   ]
                                  }
                                 ]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            RowBox[{"-", "3"}],
                            " ",
                            RadicalBox[
                             SuperscriptBox["x", "5"],
                             "3",
                             MultilineFunction -> None,
                             SurdForm -> True
                            ],
                            " ",
                            TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Product Rule\"",
                     "\"; \"",
                     "\"Chain Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[
                     {
                      TemplateBox[
                       {"exp"},
                       "InactiveHead",
                       BaseStyle -> "InactiveTraditional",
                       InterpretationFunction -> None,
                       SyntaxForm -> "Symbol",
                       Tooltip -> "Inactive[Exp]"
                      ],
                      "(",
                      FormBox["u", TraditionalForm],
                      ")"
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[
                            {
                             RowBox[{"log", "(", "x", ")"}],
                             " ",
                             RowBox[{"sin", "(", "x", ")"}]
                            }
                           ]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  SuperscriptBox[
                   "\[ExponentialE]",
                   FormBox["u", TraditionalForm]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           RowBox[
                            {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 RowBox[
                                  {
                                   RowBox[{"log", "(", "x", ")"}],
                                   " ",
                                   RowBox[
                                    {
                                     "(",
                                     RowBox[
                                      {
                                       FractionBox[
                                        "\[DifferentialD]",
                                        RowBox[{"\[DifferentialD]", "x"}]
                                       ],
                                       RowBox[{"sin", "(", "x", ")"}]
                                      }
                                     ],
                                     ")"
                                    }
                                   ]
                                  }
                                 ],
                                 "+",
                                 RowBox[
                                  {
                                   RowBox[{"sin", "(", "x", ")"}],
                                   " ",
                                   RowBox[
                                    {
                                     "(",
                                     RowBox[
                                      {
                                       FractionBox[
                                        "\[DifferentialD]",
                                        RowBox[{"\[DifferentialD]", "x"}]
                                       ],
                                       RowBox[{"log", "(", "x", ")"}]
                                      }
                                     ],
                                     ")"
                                    }
                                   ]
                                  }
                                 ]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ],
                           "+",
                           FractionBox[
                            "1",
                            RowBox[{SuperscriptBox["x", "2"], "+", "1"}]
                           ],
                           "+",
                           "3"
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    RowBox[
                     {
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          SuperscriptBox[
                           RowBox[
                            {
                             "(",
                             RowBox[
                              {
                               SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                               "+",
                               RowBox[{"3", " ", "x"}],
                               "+",
                               RowBox[
                                {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                               ]
                              }
                             ],
                             ")"
                            }
                           ],
                           "2"
                          ],
                          " ",
                          RowBox[
                           {
                            "(",
                            RowBox[
                             {
                              RowBox[{"4", " ", SuperscriptBox["x", "3"]}],
                              "-",
                              RowBox[
                               {
                                "3",
                                " ",
                                RowBox[
                                 {
                                  "(",
                                  RowBox[
                                   {
                                    RowBox[
                                     {
                                      RowBox[
                                       {
                                        "(",
                                        RowBox[
                                         {
                                          FractionBox[
                                           "\[DifferentialD]",
                                           RowBox[{"\[DifferentialD]", "x"}]
                                          ],
                                          SuperscriptBox["x", "5"]
                                         }
                                        ],
                                        ")"
                                       }
                                      ],
                                      " ",
                                      FractionBox[
                                       RowBox[
                                        {
                                         "\[DifferentialD]",
                                         FormBox[
                                          RadicalBox[
                                           SuperscriptBox["x", "5"],
                                           "3",
                                           MultilineFunction -> None,
                                           SurdForm -> True
                                          ],
                                          TraditionalForm
                                         ]
                                        }
                                       ],
                                       RowBox[
                                        {
                                         "\[DifferentialD]",
                                         FormBox[SuperscriptBox["x", "5"], TraditionalForm]
                                        }
                                       ]
                                      ],
                                      " ",
                                      TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                     }
                                    ],
                                    "+",
                                    RowBox[
                                     {
                                      RadicalBox[
                                       SuperscriptBox["x", "5"],
                                       "3",
                                       MultilineFunction -> None,
                                       SurdForm -> True
                                      ],
                                      " ",
                                      RowBox[
                                       {
                                        "(",
                                        RowBox[
                                         {
                                          FractionBox[
                                           "\[DifferentialD]",
                                           RowBox[{"\[DifferentialD]", "x"}]
                                          ],
                                          RowBox[{"log", "(", "x", ")"}]
                                         }
                                        ],
                                        ")"
                                       }
                                      ],
                                      " ",
                                      FractionBox[
                                       RowBox[
                                        {
                                         "\[DifferentialD]",
                                         FormBox[
                                          TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"],
                                          TraditionalForm
                                         ]
                                        }
                                       ],
                                       RowBox[
                                        {
                                         "\[DifferentialD]",
                                         FormBox[RowBox[{"log", "(", "x", ")"}], TraditionalForm]
                                        }
                                       ]
                                      ]
                                     }
                                    ]
                                   }
                                  ],
                                  ")"
                                 }
                                ]
                               }
                              ]
                             }
                            ],
                            ")"
                           }
                          ]
                         }
                        ],
                        ")"
                       }
                      ],
                      "/",
                      SuperscriptBox[
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             RowBox[{"-", "3"}],
                             " ",
                             RadicalBox[
                              SuperscriptBox["x", "5"],
                              "3",
                              MultilineFunction -> None,
                              SurdForm -> True
                             ],
                             " ",
                             TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                            }
                           ],
                           "+",
                           SuperscriptBox["x", "4"],
                           "+",
                           "2"
                          }
                         ],
                         ")"
                        }
                       ],
                       "2"
                      ]
                     }
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     "\"Product Rule\"",
                     "\"; \"",
                     "\"Chain Rule\"",
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RadicalBox[
                     FormBox["u", TraditionalForm],
                     "3",
                     MultilineFunction -> None,
                     SurdForm -> True
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           SuperscriptBox["x", "5"]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   "1",
                   RowBox[
                    {
                     "3",
                     " ",
                     SuperscriptBox[
                      RadicalBox[
                       FormBox["u", TraditionalForm],
                       "3",
                       MultilineFunction -> None,
                       SurdForm -> True
                      ],
                      "2"
                     ]
                    }
                   ]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    TemplateBox[{FormBox["u", TraditionalForm]}, "RealAbs"]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           RowBox[{"log", "(", "x", ")"}]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  FractionBox[
                   FormBox["u", TraditionalForm],
                   TemplateBox[{FormBox["u", TraditionalForm]}, "RealAbs"]
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     RowBox[
                      {
                       "2",
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                           "+",
                           RowBox[{"3", " ", "x"}],
                           "+",
                           RowBox[
                            {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[
                            {
                             SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 FractionBox[RowBox[{"sin", "(", "x", ")"}], "x"],
                                 "+",
                                 RowBox[
                                  {
                                   RowBox[{"log", "(", "x", ")"}],
                                   " ",
                                   RowBox[{"cos", "(", "x", ")"}]
                                  }
                                 ]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ],
                           "+",
                           FractionBox[
                            "1",
                            RowBox[{SuperscriptBox["x", "2"], "+", "1"}]
                           ],
                           "+",
                           "3"
                          }
                         ],
                         ")"
                        }
                       ]
                      }
                     ],
                     RowBox[
                      {
                       RowBox[
                        {
                         RowBox[{"-", "3"}],
                         " ",
                         RadicalBox[
                          SuperscriptBox["x", "5"],
                          "3",
                          MultilineFunction -> None,
                          SurdForm -> True
                         ],
                         " ",
                         TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                        }
                       ],
                       "+",
                       SuperscriptBox["x", "4"],
                       "+",
                       "2"
                      }
                     ]
                    ],
                    "-",
                    FractionBox[
                     RowBox[
                      {
                       RowBox[
                        {
                         "(",
                         RowBox[
                          {
                           RowBox[{"4", " ", SuperscriptBox["x", "3"]}],
                           "-",
                           RowBox[
                            {
                             "3",
                             " ",
                             RowBox[
                              {
                               "(",
                               RowBox[
                                {
                                 FractionBox[
                                  RowBox[
                                   {
                                    RadicalBox[
                                     SuperscriptBox["x", "5"],
                                     "3",
                                     MultilineFunction -> None,
                                     SurdForm -> True
                                    ],
                                    " ",
                                    RowBox[{"log", "(", "x", ")"}]
                                   }
                                  ],
                                  RowBox[
                                   {
                                    "x",
                                    " ",
                                    TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                   }
                                  ]
                                 ],
                                 "+",
                                 FractionBox[
                                  RowBox[
                                   {
                                    "5",
                                    " ",
                                    SuperscriptBox["x", "4"],
                                    " ",
                                    TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                                   }
                                  ],
                                  RowBox[
                                   {
                                    "3",
                                    " ",
                                    SuperscriptBox[
                                     RadicalBox[
                                      SuperscriptBox["x", "5"],
                                      "3",
                                      MultilineFunction -> None,
                                      SurdForm -> True
                                     ],
                                     "2"
                                    ]
                                   }
                                  ]
                                 ]
                                }
                               ],
                               ")"
                              }
                             ]
                            }
                           ]
                          }
                         ],
                         ")"
                        }
                       ],
                       " ",
                       SuperscriptBox[
                        RowBox[
                         {
                          "(",
                          RowBox[
                           {
                            SuperscriptBox["x", RowBox[{"sin", "(", "x", ")"}]],
                            "+",
                            RowBox[{"3", " ", "x"}],
                            "+",
                            RowBox[
                             {SuperscriptBox["tan", RowBox[{"-", "1"}]], "(", "x", ")"}
                            ]
                           }
                          ],
                          ")"
                         }
                        ],
                        "2"
                       ]
                      }
                     ],
                     SuperscriptBox[
                      RowBox[
                       {
                        "(",
                        RowBox[
                         {
                          RowBox[
                           {
                            RowBox[{"-", "3"}],
                            " ",
                            RadicalBox[
                             SuperscriptBox["x", "5"],
                             "3",
                             MultilineFunction -> None,
                             SurdForm -> True
                            ],
                            " ",
                            TemplateBox[{RowBox[{"log", "(", "x", ")"}]}, "RealAbs"]
                           }
                          ],
                          "+",
                          SuperscriptBox["x", "4"],
                          "+",
                          "2"
                         }
                        ],
                        ")"
                       }
                      ],
                      "2"
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[BoxData["True"], "Output", CellLabel -> "Out[11]="]
          },
          Open
         ]
        ],
        Cell[
         CellGroupData[
          {
           Cell[
            BoxData[
             RowBox[
              {
               "StepD",
               "[",
               RowBox[
                {
                 RowBox[{"Erf", "[", RowBox[{"x", "^", "2"}], "]"}],
                 ",",
                 "x"
                }
               ],
               "]"
              }
             ]
            ],
            "Input",
            CellLabel -> "In[12]:="
           ],
           Cell[
            CellGroupData[
             {
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", "x"}]
                    ],
                    RowBox[{"erf", "(", SuperscriptBox["x", "2"], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    RowBox[
                     {
                      "(",
                      RowBox[
                       {
                        FractionBox[
                         "\[DifferentialD]",
                         RowBox[{"\[DifferentialD]", "x"}]
                        ],
                        SuperscriptBox["x", "2"]
                       }
                      ],
                      ")"
                     }
                    ],
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[{"erf", "(", SuperscriptBox["x", "2"], ")"}],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[SuperscriptBox["x", "2"], TraditionalForm]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {"\"(\"", "\"Chain Rule\"", "\")\""},
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"erf", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           SuperscriptBox["x", "2"]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"erf", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "2",
                    " ",
                    "x",
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[{"erf", "(", SuperscriptBox["x", "2"], ")"}],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[SuperscriptBox["x", "2"], TraditionalForm]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"erf", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {
                 None,
                 Cell[
                  BoxData[
                   TemplateBox[
                    {
                     "\"(\"",
                     TemplateBox[
                      {
                       "\"where \"",
                       TagBox[
                        FormBox[
                         RowBox[
                          {
                           FormBox["u", TraditionalForm],
                           "\[LongEqual]",
                           SuperscriptBox["x", "2"]
                          }
                         ],
                         TraditionalForm
                        ],
                        TraditionalForm,
                        Editable -> True
                       ]
                      },
                      "RowDefault"
                     ],
                     "\")\""
                    },
                    "RowDefault"
                   ]
                  ],
                  "MessageText"
                 ]
                },
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    FractionBox[
                     "\[DifferentialD]",
                     RowBox[{"\[DifferentialD]", FormBox["u", TraditionalForm]}]
                    ],
                    RowBox[{"erf", "(", FormBox["u", TraditionalForm], ")"}]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{40 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ],
              Cell[
               BoxData[
                FormBox[
                 FormBox[
                  RowBox[
                   {
                    "2",
                    " ",
                    "x",
                    " ",
                    FractionBox[
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[
                        RowBox[{"erf", "(", SuperscriptBox["x", "2"], ")"}],
                        TraditionalForm
                       ]
                      }
                     ],
                     RowBox[
                      {
                       "\[DifferentialD]",
                       FormBox[SuperscriptBox["x", "2"], TraditionalForm]
                      }
                     ]
                    ]
                   }
                  ],
                  TraditionalForm
                 ],
                 TraditionalForm
                ]
               ],
               "Print",
               CellDingbat -> Cell["=", "EchoLabel"],
               CellMargins -> {{20 + Inherited, Inherited}, {Inherited, Inherited}},
               CellFrameLabels -> {
                {None, Cell[BoxData["\"\""], "MessageText"]},
                {None, None}
               }
              ]
             },
             Open
            ]
           ],
           Cell[
            BoxData[
             RowBox[
              {
               "StepD",
               "[",
               RowBox[
                {
                 RowBox[{"Erf", "[", SuperscriptBox["x", "2"], "]"}],
                 ",",
                 "x"
                }
               ],
               "]"
              }
             ]
            ],
            "Output",
            CellLabel -> "Out[12]="
           ]
          },
          Open
         ]
        ]
       },
       Open
      ]
     ]
    },
    Open
   ]
  ]
 },
 InputAliases -> {
  "rg" -> "\:7984",
  "notation" -> RowBox[
   {
    "Notation",
    "[",
    RowBox[
     {
      TemplateBox[
       {"\[SelectionPlaceholder]"},
       "NotationTemplateTag"
      ],
      " ",
      "\[DoubleLongLeftRightArrow]",
      " ",
      TemplateBox[{"\[Placeholder]"}, "NotationTemplateTag"]
     }
    ],
    "]"
   }
  ],
  "notation>" -> RowBox[
   {
    "Notation",
    "[",
    RowBox[
     {
      TemplateBox[
       {"\[SelectionPlaceholder]"},
       "NotationTemplateTag"
      ],
      " ",
      "\[DoubleLongRightArrow]",
      " ",
      TemplateBox[{"\[Placeholder]"}, "NotationTemplateTag"]
     }
    ],
    "]"
   }
  ],
  "notation<" -> RowBox[
   {
    "Notation",
    "[",
    RowBox[
     {
      TemplateBox[
       {"\[SelectionPlaceholder]"},
       "NotationTemplateTag"
      ],
      " ",
      "\[DoubleLongLeftArrow]",
      " ",
      TemplateBox[{"\[Placeholder]"}, "NotationTemplateTag"]
     }
    ],
    "]"
   }
  ],
  "symb" -> RowBox[
   {
    "Symbolize",
    "[",
    TemplateBox[
     {"\[SelectionPlaceholder]"},
     "NotationTemplateTag"
    ],
    "]"
   }
  ],
  "infixnotation" -> RowBox[
   {
    "InfixNotation",
    "[",
    RowBox[
     {
      TemplateBox[
       {"\[SelectionPlaceholder]"},
       "NotationTemplateTag"
      ],
      ",",
      "\[Placeholder]"
     }
    ],
    "]"
   }
  ],
  "addia" -> RowBox[
   {
    "AddInputAlias",
    "[",
    RowBox[
     {
      "\"\[SelectionPlaceholder]\"",
      "\[Rule]",
      TemplateBox[{"\[Placeholder]"}, "NotationTemplateTag"]
     }
    ],
    "]"
   }
  ],
  "pattwraper" -> TemplateBox[
   {"\[SelectionPlaceholder]"},
   "NotationPatternTag"
  ],
  "madeboxeswraper" -> TemplateBox[
   {"\[SelectionPlaceholder]"},
   "NotationMadeBoxesTag"
  ],
  "cf" -> SubscriptBox["&", "\[Placeholder]"]
 },
 StyleDefinitions -> "Default.nb"
]